13

私の ViewPager には、LinearLayout によって保持されている ImageButton と TextView がありましたが、今ではそれらを結合ドローアブルを持つ 1 つの 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);
    }
}

ここで何が起こったのですか?どうもありがとう。

4

4 に答える 4

21

android:singleLine="true"android:scrollHorizontally私のテストによると、変更した場合にのみ強制されますandroid:gravity(つまり、デフォルトの重力ではこの問題は発生しないようです)。

android:singleLine="true"単純に置き換えることで、TextViewでこの問題を解決しましたandroid:maxLines="1"

この変更の後、ViewPager に関する問題はなくなりました。で要素に触れている間、期待どおりにスクロールするようになりましたandroid:gravity="right"

于 2013-10-12T09:01:57.780 に答える
10

オーバーライドすることで解決:

@TargetApi(14)
@Override
public boolean canScrollHorizontally(int direction) {
    return false;
}
于 2013-06-05T06:48:33.823 に答える
2

私はそれをやり遂げました:

textView.setHorizontallyScrolling(false);
于 2016-01-16T02:26:55.183 に答える