回答:
これをあなたのxmlに追加してください:
android:listSelector="@android:color/transparent"
そして問題のためにこれはうまくいくかもしれません(私にはわかりませんし、より良い解決策があるかどうかわかりません):
ColorStateListをTextViewに適用できます。
Fragment
します。XMLレイアウトには、LinearLayout
および複数のTextView
アイテムが含まれています。行のハイライトを無効にするにはどうすればよいですか?
listView.setSelector(android.R.color.transparent);
RoflcoptrExceptionの答えはうまくいくはずですが、なぜかそれは私にとってうまくいきませんでした、それで私は私のために働いた解決策を投稿しています、それが誰かを助けることを願っています
<ListView
android:listSelector="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
/>
オレンジ色のハイライト効果は、ListViewのスタイルです。 この記事では、listViewスタイルをオーバーライドする方法の概要を説明します。
基本的に、現在の状態に基づいてさまざまなスタイル要素を指定するセレクターがあります。
短くて簡単な解決策については、これを参照してくださいhttps://stackoverflow.com/a/12242564/185022
listSelector
必要があります。
ListViewから :フォーカスハイライトを無効にする
ListAdapter
次のコードを使用するように設定すると
ListAdapter adapter = new SimpleCursorAdapter(MyList, Layout, c,
new String[] { "Name", "Score" }, to)
{
public boolean areAllItemsEnabled()
{
return false;
}
public boolean isEnabled(int position)
{
return false;
}
};
これはBaseAdapter
クラスをオーバーライドします。また、セル間の白い境界線をキャンセルします。
isEnabled
はありません。アイテムを無効にするためのオーバーライドは、それを無効にする方法ではありません!ドキュメントは、それisEnabled
がアイテムがセパレータであるかどうかを決定することになっていると言います。
これも、listselectorと一緒にur XMlに追加します。
<ListView
android:cacheColorHint="@android:color/transparent"
android:listSelector="@android:color/transparent"/>
仮想デバイスと実際のデバイスでいくつかの「グーグル」化とテストを行った後、以下のコードが機能することに気づきました。
ArrayAdapter<String> myList = new ArrayAdapter<String>(this, R.layout.list_item, strText) {
public boolean isEnabled(int position)
{
return false;
}
};
そのareAllItemsEnabled()
部分を省略していることに注意してください。
これは私を助けるものではありません:
transparent_drawable.xml
:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00000000"/>
</shape>
layout.xml
:
android:listSelector="@drawable/transparent_drawable"
コードで
listView.setSelector(getResources().getDrawable(R.drawable.transparent));
小さな透明な画像を描画可能なフォルダに追加します。
Like:transparent.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00000000"/>
</shape>
私にとってandroid:focusableInTouchMode="true"
は行く方法です。android:listSelector="@android:color/transparent"
役に立たない。各行に多数のオブジェクトがあるカスタムリストビューを使用していることに注意してください。
これを行うには迅速かつ簡単な方法があります:メソッド内:
private void OnItemSelected(object sender, SelectedItemChangedEventArgs e)
{
//TODO
((ListView)sender).SelectedItem = null;
}
それが役に立てば幸い;)