Android ListView ArrayAdapter - checkbox/radio 按钮排列
Android ListView ArrayAdapter - checkbox/radio button arrangement
有没有办法重新排列复选框,使其出现在文本之前?
我将 ArrayAdapter 与 simple_list_item_multiple_choice
一起使用,理想情况下,我希望在开头看到复选框,然后是文本。
或者我应该制作自定义适配器来实现此目的吗?
谢谢。
我找到了修复对齐的方法。
listView.setAdapter(arrayAdapter);
之后
使用listView.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
很有魅力。
在适配器中,您可以使用自定义布局,例如:
构造数组适配器
ArrayAdapter<String> adapter = new ArrayAdapter<>(getContext(), R.layout.spinner_item);
XML 文件
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:textSize="20sp"
android:padding="10dp"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:background="@drawable/back"
android:textAlignment="inherit"/>
在那种情况下,XML 是一个简单的 TextView,但它可能更复杂。因此,您可以以更加自定义的方式控制适配器的布局。
有没有办法重新排列复选框,使其出现在文本之前?
我将 ArrayAdapter 与 simple_list_item_multiple_choice
一起使用,理想情况下,我希望在开头看到复选框,然后是文本。
或者我应该制作自定义适配器来实现此目的吗?
谢谢。
我找到了修复对齐的方法。
listView.setAdapter(arrayAdapter);
使用listView.setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
很有魅力。
在适配器中,您可以使用自定义布局,例如:
构造数组适配器
ArrayAdapter<String> adapter = new ArrayAdapter<>(getContext(), R.layout.spinner_item);
XML 文件
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:textSize="20sp"
android:padding="10dp"
android:gravity="center_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:background="@drawable/back"
android:textAlignment="inherit"/>
在那种情况下,XML 是一个简单的 TextView,但它可能更复杂。因此,您可以以更加自定义的方式控制适配器的布局。