preferenceアイテムのselectabilityをfalseに設定すると、そのアイテムの周りの仕切りが消えることがわかります。ディバイダーを選択できない設定に保つ方法はありますか?
これらの仕切りを保持する方法があるかどうか知っていますか?
私はListView APIを見て、リストビュー項目(headersおよびfootersを除く)の選択可能な属性がないため、ここで適用できる解決策を見つけることができませんでした。
ありがとうございます!
preferenceアイテムのselectabilityをfalseに設定すると、そのアイテムの周りの仕切りが消えることがわかります。ディバイダーを選択できない設定に保つ方法はありますか?
これらの仕切りを保持する方法があるかどうか知っていますか?
私はListView APIを見て、リストビュー項目(headersおよびfootersを除く)の選択可能な属性がないため、ここで適用できる解決策を見つけることができませんでした。
ありがとうございます!
いくつかのコード例が役に立ちます。 ListView
要素に分周器を設定しましたか?はいの場合はthis postもチェックしてください。
そうしないと、カスタムListElementViewを作成し、レイアウトxmlにディバイダを追加できます。
ハックでやりました。ここで
<Preference android:layout="@layout/preference_divider" />
<Preference android:title="@string/whatever" android:selectable="false" />
のres /レイアウト/ preference_divider.xml
<?xml version="1.0" encoding="utf-8"?>
<View xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#cccccc"
android:layout_width="fill_parent"
android:layout_height="1px" />
なぜ1pxに変更しましたか? 0pxはうまく動作しますが、一部のデバイスやAndroidバージョンで0pxに問題があるかどうか疑問に思っていますか? – tomrozb
私のために働いた "トリック" です。好みの中のいずれかの項目にandroid:focusable = "true"を設定してください。 これにより、プリファレンスライン全体をクリックできなくなります。
テキストを表示するために環境設定を使用する場合は、編集不可能なEditTextPreferenceを使用することもできます。 プリファレンスは選択可能ですが、選択するとそのコンテンツのみが表示されます。
<EditTextPreference
android:editable="false"
... />
非表示にする行を「ディバイダ」といいます。 PreferenceActivity
はListActivity
に拡張されており、期待通りにListView
が使用されています。分周器はListView
に変更できます。あなたの中でPreferenceActivity
:
ListView lv = getListView();
lv.setDivider(new ColorDrawable(Color.TRANSPARENT));
lv.setDividerHeight(0);
私の好みのリストには仕切りが全くないと言っているわけではありません。私は、選択不可*にされたアイテムは、それらの周りに仕切りなしで終わると言っています。コードを意図したフレームワークとして機能するので、コードに特別なものはありません。私はちょうどこのデフォルトの経験をカスタマイズする方法を探しています。助けてくれてありがとう! –