В настоящее время я определил ExpandableListView
, который позволит моему второму списку GroupView
содержать над ним GroupView
. Однако это не выглядит привлекательным для пользователя, потому что поток стрелки расширения не выравнивается с текстом, а скорее в центре представления. У кого-нибудь есть какие-либо подтексты на то, что я могу сделать, чтобы сделать этот взгляд более привлекательным? Мне нужно иметь заголовок после второй группы.
Этот код - это то, что настраивает мой GroupView
в моем пользовательском адаптере.
public View getGroupView(int groupPosition, boolean isExpanded, View convertView,
ViewGroup parent) {
TextView groupTitle = null;
LayoutInflater layoutInflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = null;
if(groupPosition == 1){
v = layoutInflater.inflate(R.layout.custom_first_major_language_group_row, null);
} else {
v = layoutInflater.inflate(R.layout.custom_language_group_row, null);
}
groupTitle = (TextView) v.findViewById(R.id.text_element);
String myText = this.getGroup(groupPosition).toString();
groupTitle.setText(myText);
return v;
}
custom_language_group_row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/text_element"
android:layout_width="fill_parent"
android:layout_height="48dip"
android:textSize="20sp"
android:textColor="#fff"
android:layout_marginLeft="48dip"
android:gravity="center_vertical"
android:text = "Language Group Name"/>
</RelativeLayout>
custom_first_major_language_group_row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Major Languages"
android:textColor="#000"
android:background="#fff"
android:id="@+id/majorLanguageTitle"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_centerHorizontal="true"></TextView>
<TextView
android:id="@+id/text_element"
android:layout_width="fill_parent"
android:layout_height="48dip"
android:textSize="20sp"
android:textColor="#fff"
android:layout_marginLeft="48dip"
android:gravity="center_vertical"
android:layout_below="@+id/majorLanguageTitle"
android:text = "Language Group Name"/>
</RelativeLayout>
Если у вас есть идеи о том, как я могу вытащить стрелку вниз, чтобы выровнять ее с текстом, это было бы очень оценено.
Таким образом, мой ответ - несколько хромой ответ. У меня была эта проблема, но я заметил, что мой текст был отцентрирован только примерно на 4-5 дп (после тестирования). Таким образом, вместо того, чтобы перемещать изображение разворачивания/сглаживания правильно центрированным, я центрирую текст, а затем добавляю нижнее поле в текстовое представление 5dp. Итак, теперь мое текстовое представление, похоже, намного ближе к изображению expand/collapse.
Не предпочтительное решение, но это сработало для меня.