Как сделать расширяемый список с индикатором значка развернуть/свернуть по умолчанию справа?

Я разрабатываю приложение для 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" />

`


person jasil    schedule 21.08.2015    source источник


Ответы (4)


Это слишком просто сделать... Просто выполните два шага:

1.)

Просто нужно добавить эту строку в XML-файл ExpandableListView.

          android:layoutDirection="rtl"

2.) Затем в вашем списке item.xml или как вы его назвали, поместите еще эти 2 строки...

    android:gravity="left"
    android:layoutDirection="ltr"

Ну вот, шоу окончено!! Просто запусти.. :)

person Shreyanshu Sharma    schedule 20.10.2016

используйте метод переопределения ниже с методами setIndicatorBoundsRelative, он работает для меня для более низкой версии ниже gellybean, используйте метод setIndicatorBounds.

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    // TODO Auto-generated method stub
    super.onWindowFocusChanged(hasFocus);
      mExpandableListView.setIndicatorBoundsRelative(mExpandableListView.getRight()- 40, mExpandableListView.getWidth());

}
person Gopal Sharma    schedule 05.01.2016

Да, рабочим решением для всех устройств является получение ширины расширяемого списка и установка индикатора привязки вправо.

Переопределите приведенный ниже метод в своем действии, содержащем расширяемый список.

@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
mExpandableListView.setIndicatorBounds(mExpandableListView.getRight()- 40, mExpandableListView.getWidth());
} 

это будет полезно, безусловно.

person Deepak    schedule 08.07.2016

android:indicatorLeft в теге <ExpandableListView/> xml

person androidbear    schedule 13.01.2016
comment
Добавьте некоторые пояснения - person Jaiprakash Soni; 13.01.2016
comment
это похоже на добавление левого поля, но сдвигает только индикатор вправо :) просто попробуйте, дайте мне знать - person androidbear; 14.01.2016