ExpandableListViewでchildDividerを非表示にせずに仕切りを非表示にする
-
28-10-2019 - |
質問
子の仕切りも非表示にせずに、ExpandableListViewで仕切りを非表示にする方法を見つけることができません。
これが私のコードです。 ジェネラコディセタグプレ
このコードでは、グループに仕切りはありませんが、子の仕切りもありません。android:divider
を"@drawable/list_divider"
に設定すると、グループと子の両方の仕切りが表示されます。
よろしくお願いします!
解決
私が見つけた唯一の解決策は、子供のXML、このようにして子供のXMLを直接置くことです:
<TextView
android:id="@+id/name"
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView android:id="@+id/divider"
android:layout_alignParentBottom="true"
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@drawable/list_divider" />
.
それは非常に非常に醜いですが機能しています。
しかしそれでも、それを正しくする方法があるはずです。
他のヒント
これは機能します
Adding dividerHeight parameter to your ExpandableListView in your xml layout should do the trick
How about just add a line:
android:dividerHeight="0dp"
Actually, i face the similar problem. PD asks the divider and the childDivider are both existed and different, which bothers me much. I am looking for answers too.
In my opinion : -Remove divider in XML :
android:divider="@null"
android:dividerHeight="0dp"
-Draw divider in View getGroupView(..,..,..,..) :
View divider = new View(_context);
View dividerIDU = new View(_context);
RelativeLayout.LayoutParams rldivider = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT, 1);
RelativeLayout.LayoutParams rldividerShort = new RelativeLayout.LayoutParams(
150, 3);
rldividerShort.setMargins(5, -1, 0, 0);
dividerIDU.setBackgroundColor(Color.RED);
divider.setLayoutParams(rldivider);
dividerIDU.setLayoutParams(rldividerShort);
divider.setBackgroundColor(Color.rgb(200, 200, 200));
((RelativeLayout) convertView).addView(divider);
((RelativeLayout) convertView).addView(dividerIDU);
-After you can set divider following group position.