Как сохранить выделение всей строки (с HorizontalScrollView)

1

У меня есть ListView, у которого есть строки с в основном 2 TextViews каждый. Но одно из этих текстовых просмотров находится внутри HorizontalScrollView.

Мне нужно следующее поведение В РЕЖИМЕ TOUCH:

1) Когда пользователь нажимает на любой из TextViews, должна быть выделена строка ENTIRE. Он может прокручивать влево/вправо первое текстовое изображение, но вся строка должна оставаться выделенной.

2) После того, как пользователь выполнит повторный просмотр "нажмите", строка "MUST STAY" будет выделена, пока пользователь не нажмет другую строку или не прокрутит список вверх/вниз.

Спасибо заранее.

Макет строки:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
>
    <HorizontalScrollView
        android:id="@+id/frmclientes_listview_linha_scrollView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:fillViewport="true"
        android:scrollbars="none"
        android:scrollbarAlwaysDrawHorizontalTrack="false"
        android:scrollbarAlwaysDrawVerticalTrack="false"
        android:fadingEdge="horizontal"
        android:fadingEdgeLength="30sp"
    >
        <TextView
            android:id="@+id/frmclientes_listview_line_firstline"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_alignParentTop="true"
            android:ellipsize="marquee"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:gravity="center_vertical"
            android:focusable="false"
            android:lines="1" />
    </HorizontalScrollView>

    <TextView
        android:id="@+id/frmclientes_listview_line_secondline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_below="@+id/frmclientes_listview_linha_scrollView1"
        android:ellipsize="marquee"
        android:gravity="center_vertical"
        android:lines="1"
        android:textAppearance="?android:attr/textAppearanceSmall" />

</RelativeLayout>
  • 0
    Почему вы не меняете фон HorizontalScrollView?
Теги:
android-layout
android-listview

1 ответ

0
Лучший ответ

Вы можете переопределить HorizontalScrollView.draw()

public class HorizontalScrollViewHighlight extends HorizontalScrollView {
    public boolean isHighlighted = false;
    public HorizontalScrollViewHighlight(Context context) {
        super(context, null);
    }
    @Override
    public void draw(Canvas canvas) {
        super.draw(canvas);
        if (isHighlighted)
            // highlight code
        else
            // non-highlighted code
    }
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню