如何使用右侧的默认展开/折叠图标指示器制作expandablelistview?

时间:2015-08-21 05:13:51

标签: android expandablelistview indicator

我正在开发一款带设计的Android应用程序。

http://prntscr.com/86wnmm

这里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" />

`

5 个答案:

答案 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/>