java - 微调器简单项目模板获得不同的大小

标签 java android android-spinner

我正在使用数组适配器在微调器上填充字符串。但它没有呈现正确的大小。请帮忙

enter image description here enter image description here

布局代码

<Spinner
                android:id="@+id/reg_state"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="24dp"
                android:layout_marginTop="8dp"
                android:layout_marginEnd="24dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/constraintLayout2" />

            <Spinner
                android:id="@+id/reg_batch"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="24dp"
                android:layout_marginTop="6dp"
                android:layout_marginEnd="24dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/textView9" />

Java代码

ArrayAdapter<String> arrayAdapter1 = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item, batchList);
                arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                batch.setAdapter(arrayAdapter1);

                ArrayAdapter<String> arrayAdapter2 = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item, stateList);
                arrayAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                state.setAdapter(arrayAdapter2);

最佳答案

如下更改代码

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(), R.layout.spinner_item,areas);
state.setAdapter(adapter);

并在布局文件夹中创建 spinner_item

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:singleLine="true"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center_vertical"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:minHeight="?android:attr/listPreferredItemHeightSmall"
android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
android:paddingRight="?android:attr/listPreferredItemPaddingRight" />

在测试代码之前清理并构建。

关于java - 微调器简单项目模板获得不同的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53669134/

相关文章:

java - 解析通用 ArrayList 中存在的 JSONArray

java - 使用现有的外部公钥从 ECDH 导出共享 secret

android - 在 Webview 中单击文本启动 Activity Intent

android - AppCompat Spinner 的 TextInputLayout 错误对齐问题

android - 隐藏微调器不触发事件

java - JPA 实体映射到可选的 SecondaryTable

java - 我想最小化@Transactional 的范围吗?

android - 数据库查询在尝试获取 LiveData 时抛出 KotlinNullPointerException

java - 我的验证全部合一

android - 如何更改 textView android.R.layout.simple_spinner_dropdown_item 的颜色?