У меня есть 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>
Вы можете переопределить 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
}
}