android - 触摸 TextView 时无法滚动 ViewPager(使用 android :gravity ="center") in it

标签 android textview

在我的 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:scrollHorizo​​ntally 设置为 true,并根据仅当您更改 android:gravity 时才进行我的测试(即默认重力似乎不会出现此问题)。

我通过简单地将 android:singleLine="true" 替换为 android:maxLines="1"

进行此更改后,ViewPager 不再有问题。现在它在使用 android:gravity="right" 触摸元素时按预期滚动。

关于android - 触摸 TextView 时无法滚动 ViewPager(使用 android :gravity ="center") in it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16915040/

相关文章:

Android Studio 像素化预览

java - Getter 和 Setter 不起作用?

android - FloatingActionButton、layout_anchor 和 layout_gravity

android - 如何使用分秒计时

Android 在 TextView 或 EditView 中选择一个词

java - GraphView水平日期标签无法换行

android - 我在 xamarin android 中使用相对布局的布局代码有问题吗?

android - TextView 转到空间中的新行

android - Android ListView 中的前 2 个 TextView 的样式不同

android - 更改扩展 ListActivity 的 Activity 的背景图像