[英]Change UWP Listview selected item background color in Xamarin
[英]change selected color on xamarin listview w
非常环保的Android开发人员。 我有一个手持Zebra扫描仪我正在尝试开发一个Android应用程序。 我已经映射了音量按钮来滚动列表视图,但我能告诉它的唯一方法是滚动是将所选项目的文本放在EditText中。 我希望改为突出显示所选项目(类似于触摸项目)。 这可能吗? 下面是我用于音量键的代码。 任何帮助将不胜感激。
if (keyCode == Android.Views.Keycode.VolumeDown)
{
if (scrollItem < itemList.Count - 1)
{
scrollItem += 1;
itemListView.RequestFocusFromTouch();
itemList.SetSelection(scrollItem);
item = partsAdapter.GetItemAtPosition(scrollItem);
itemEditText.Text = item.partNbr;
saveItemDesc = item.partDescription;
}
return true;
}
//scroll up through parts listing
if (keyCode == Android.Views.Keycode.VolumeUp)
{
if (scrollItem > 0)
{
scrollItem -= 1;
itemList.SetSelection(scrollItem);
item = partsAdapter.GetItemAtPosition(scrollItem);
itemEditText.Text = item.partNbr;
saveItemDesc = item.partDescription;
}
return true;
}
OnCreate...
{
...
itemList = FindViewById<ListView>(Resource.Id.itemListView);
partsAdapter = new PartsAdapter(this);
itemList.Adapter = partsAdapter;
itemList.ChoiceMode = ChoiceMode.Single;
itemList.OnItemClickListener = new ListListener(this);
}
我希望突出显示所选项目
在ListView
项目布局中添加以下行:
android:background="@drawable/bg_key"
在Drawable
文件夹中定义bg_key.xml
,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:drawable="@color/pressed_color"/>
<item
android:drawable="@color/default_color" />
</selector>
然后,在ListView
添加OnItemClickListener
:
listView.OnItemClickListener = new MyListener(this);
public class MyListener : Java.Lang.Object, AdapterView.IOnItemClickListener
{
private MainActivity mainActivity;
public MyListener(MainActivity mainActivity)
{
this.mainActivity = mainActivity;
}
public void OnItemClick(AdapterView parent, View view, int position, long id)
{
view.Selected = true;
}
}
这样,任何时候都只会选择一个项目进行颜色选择。 您可以使用以下内容在Resource/values/colors.xml
定义颜色值:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="pressed_color">#4d90fe</color>
<color name="default_color">#ffffff</color>
</resources>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.