我创建了一个带有2个视图的图库视图和3个简单的TextView来呈现一些 我的数据模型中的数据。 在2个视图上调用Invalidate方法就像是 当我在图库视图中导航时,视图会失去焦点。
“焦点”丢失后,文字几乎变得不可读。 (见下面的两张图片)
我正在使用Monodroid,但也会感谢常规Android示例。
我的图库视图的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Gallery
android:id="@+id/locationGallery"
android:layout_height="match_parent"
android:layout_width="fill_parent">
</Gallery>
</LinearLayout>
我放入图库视图的两个视图的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:gravity="top"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="3sp"
android:id="@+id/locationGalleryItem"
>
<TextView
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="16sp"
/>
<TextView
android:id="@+id/text2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/text1"
android:padding="10dp"
android:textSize="16sp"
/>
<TextView
android:id="@+id/text3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/text2"
android:padding="10dp"
android:textSize="16sp"
/>
</LinearLayout>
答案 0 :(得分:2)
我通过在Gallery View上为ItemSelected属性创建一个EventHandler来解决问题。此EventHandler跟踪Gallery View的当前位置。然后将Gallery View上的方法SetSelection调用到当前位置。这给出了期望的结果。
代码:
locationGallery.ItemSelected += new EventHandler<ItemEventArgs>(locationGallery_ItemSelected);
void locationGallery_ItemSelected(object sender, ItemEventArgs e)
{
var send = sender as Gallery;
send.SetSelection(e.Position);
}
答案 1 :(得分:0)
我想解决问题的最简单方法是将以下内容添加到您的图库中(除非您当然需要它):
android:unselectedAlpha="1.0"