我正在开发一款带设计的Android应用程序。
这里exapandablelistview的默认图标指示器显示在左侧。 如何在列表视图的右侧显示此图标指示器? 是否有任何Xml文件的变化可以实现这个?
我的xml代码是
`
<ExpandableListView
android:id="@+id/expandableListView"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:indicatorRight="?android:attr/expandableListPreferredItemIndicatorRight"
android:dividerHeight="0.7dp" />
`
答案 0 :(得分:8)
这太容易了...... 只需按照两个步骤操作:
1。)
只需在ExpandableListView xml文件中添加此行。
android:layoutDirection="rtl"
2.)然后,在列表item.xml或您命名的任何内容中,再放置这两行......
android:gravity="left"
android:layoutDirection="ltr"
你走了,The Show is Over !!跑吧.. :))
答案 1 :(得分:0)
使用下面的覆盖方法和setIndicatorBoundsRelative方法,它对我来说适用于gellybean以下的较低版本使用setIndicatorBounds方法。
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
mExpandableListView.setIndicatorBoundsRelative(mExpandableListView.getRight()- 40, mExpandableListView.getWidth());
}
答案 2 :(得分:0)
是所有设备的工作解决方案是获得可扩展列表的宽度和右侧的setIndicatorBound。
在包含可扩展列表视图的活动中覆盖以下方法。
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
mExpandableListView.setIndicatorBounds(mExpandableListView.getRight()- 40, mExpandableListView.getWidth());
}
这肯定会有所帮助。
答案 3 :(得分:0)
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) {
expandableListView.setIndicatorBounds(expandableListView.getWidth()-40,expandableListView.getWidth());
} else {
expandableListView.setIndicatorBoundsRelative(expandableListView.getWidth()-40,expandableListView.getWidth());
}
}
答案 4 :(得分:-2)
android:indicatorLeft
标记xml 中的 <ExpandableListView/>