【发布时间】:2020-12-03 15:23:49
【问题描述】:
我想在圆角矩形列表中显示微调器的项目,而不是默认矩形。我不是指微调器本身,而是单击箭头后的列表。有没有办法做到这一点?尝试制作 custom_rounded_layout 并将其附加到适配器更改了每个项目的布局,而不是列表本身。但是,我希望列表本身被四舍五入,而不是项目。现在该列表是默认列表。我想让列表的角有点圆润。提前致谢
【问题讨论】:
我想在圆角矩形列表中显示微调器的项目,而不是默认矩形。我不是指微调器本身,而是单击箭头后的列表。有没有办法做到这一点?尝试制作 custom_rounded_layout 并将其附加到适配器更改了每个项目的布局,而不是列表本身。但是,我希望列表本身被四舍五入,而不是项目。现在该列表是默认列表。我想让列表的角有点圆润。提前致谢
【问题讨论】:
创建一个带有圆形背景文本视图的布局文件,如下所示:
spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/size_40"
android:background="@drawable/bg_round"
android:gravity="center_vertical"
android:id="@+id/ssdsd"
android:layout_margin="16dp"
android:padding="10dp"
android:text="@string/app_name" />
现在在微调器适配器中传递它
Spinner spinner = findViewById(R.id.yourSpinner);
spinner.setAdapter(new ArrayAdapter<String(this,R.layout.spinner_item,R.id.ssdsd,list));
要更改弹出背景,请在 Spinner xml 代码中使用它:
android:popupBackground="@drawable/bg_round"
注意:您可能需要调整内边距和边距以使其看起来不错,这只是您如何做到这一点的一个想法。
【讨论】:
spinner.setAdapter(new ArrayAdapter<String(this,R.layout.spinner_item,R.id.ssdsd,list)); 用这个:spinner.setAdapter(new ArrayAdapter<String(this,R.layout.spinner_item,list)); 看看它是否有效
android:background="@drawable/bg_round"如果是,这个drawable的背景色是什么,如果是白色或透明,试试把颜色改成黑色什么的