невозможно прокрутить ViewPager при касании в нем TextView (с android: gravity = «center»)

В моем ViewPager были функции ImageButton и TextView, удерживаемые LinearLayout, и теперь я изменяю их на один TextView с возможностью рисования по соединению.




У меня вопрос: я не могу перевернуть влево или вправо при прикосновении к TextView, но если удалить "Android: гравитация =»центр", это работает ... к сожалению, текст не центрируется в любом случае ...

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);
    }
}

Что здесь случилось? большое спасибо.

 darktiny10 сент. 2013 г., 05:49
Точно такая же проблема, нашел ответВот
 tasomaniac16 авг. 2013 г., 10:54
Интересная ошибка, с которой я сталкиваюсь. Спасибо. Я отдал тебе голос.

Ответы на вопрос(3)

android:singleLine="true" силandroid:scrollHorizontally быть установленным в true, и согласно моим тестам, только если вы изменитеandroid:gravity (то есть гравитация по умолчанию, кажется, не создает этой проблемы).

Я решил эту проблему в TextView, просто заменивandroid:singleLine="true" сandroid:maxLines="1"

После этого изменения у меня больше не было проблем с ViewPager. Теперь он прокручивается, как и ожидалось, касаясь элементов с помощью.android:gravity="right"

 milosmns26 окт. 2016 г., 12:12
О, МОЙ БОГ! Это в двух словах Android.
 Someone Somewhere31 июл. 2016 г., 20:00
О, МОЙ БОГ! Я потратил два часа на такую глупую проблему, и, наконец, я нашел ваш ответ, который исправил это !! Я могу'Я не верю, что Google добавляет эти дерьмовые ошибки.

решено переопределением:

@TargetApi(14)
@Override
public boolean canScrollHorizontally(int direction) {
    return false;
}
 Jeffrey Blattman18 апр. 2019 г., 21:03
Бог знает только, почему это не такт голосовал. Это единственное, что сработало для меня.

Я сделал это, выполнив:

textView.setHorizontallyScrolling(false);

Ваш ответ на вопрос