在我的 ViewPager 中,有一个 ImageButton 和 TextView 由 LinearLayout 控制,现在我将它们更改为一个带有 coupound drawable 的 TextView。
<?xml version="1.0" encoding="utf-8"?>
<com.iclinux.android.custom_views.NoScrollTextView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:iclinux="http://schemas.android.com/apk/res-auto"
android:clipChildren="false"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:gravity="center"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:drawableTop="@drawable/icon_bg"
style="@style/EllipsizedSingleLineTextView"
android:textSize="@dimen/grid_item_title_size"
>
</com.iclinux.android.custom_views.NoScrollTextView>
我的问题是:触摸 TextView 时我无法左右翻转,但如果删除“android:gravity="center”,它会工作...不幸的是,文本无论如何都不居中...
public class NoScrollTextView extends TextView {
public NoScrollTextView(Context context) {
super(context);
}
public NoScrollTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public NoScrollTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_MOVE)
return false;
return super.onTouchEvent(event);
}
}
这里发生了什么?非常感谢。
最佳答案
android:singleLine="true"
强制 android:scrollHorizontally
设置为 true,并根据仅当您更改 android:gravity
时才进行我的测试(即默认重力似乎不会出现此问题)。
我通过简单地将 android:singleLine="true"
替换为 android:maxLines="1"在 TextView 中解决了这个问题
进行此更改后,ViewPager 不再有问题。现在它在使用 android:gravity="right"
触摸元素时按预期滚动。
关于android - 触摸 TextView 时无法滚动 ViewPager(使用 android :gravity ="center") in it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16915040/