固定高さListView
があります。リスト項目間に仕切りがありますが、最後のリスト項目の後に仕切りも表示されます。
ListView
の最後のアイテムの後に仕切りを表示しない方法はありますか?
ListViewの説明にAndroid:footerDividersEnabled="false"
を追加するだけです
@ScootrNovaが言ったように、これはAndroid 4.4.x(問題がいつ導入されたか正確にはわからない)
これは、specificpadding
+ clipToPadding="false"
を使用する場合に関連しています-4.4.xでは、フッターはビューの外側に描画されますが、パディングへのクリップはそれを示します。
私が使用した解決策は、フッターのオーバースクロール(Android:overScrollFooter
)を透明に設定することでした。
私の最終的な解決策(Android:footerDividersEnabled
は後方互換性のために保持されていることに注意してください):
<ListView
Android:id="@Android:id/list"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:padding="@dimen/activity_horizontal_margin"
Android:divider="@color/divider"
Android:dividerHeight="1px"
Android:clipToPadding="false"
Android:scrollbarStyle="outsideInset"
Android:overScrollFooter="@Android:color/transparent"
Android:footerDividersEnabled="false"
/>
4.1.1を実行しているHTC One X、4.4.4を実行しているNexus 5、および4.4.2を実行しているSamsung Galaxy S5でテストしました(@ Dallas187に感謝)。 Lollipopも動作しているようです。 (コメント者に感謝!)
コードでこれを行いたい場合は、次のとおりです。
listView.setFooterDividersEnabled(false);
また、ListFragmentを使用している場合は、次の方法でリストビューを取得できます。
listFragment.getListView().setFooterDividersEnabled(false);
これはグーグルで1位になったのでコメントしました
以下の行は、lollypopデバイスでは機能しないようです。
listView.setFooterDividersEnabled(false);
したがって、リストの最後の項目の後の区切り線を削除するには、以下のコードを使用する必要があります。
listView.setOverscrollFooter(new ColorDrawable(Color.TRANSPARENT));
Background = @Android:color/transparentを使用します。完全に動作します。行レイアウトの背景を引き続き使用できます