我已将spinner
项目背景自定义为黑色。但是旋转器周围的边框和每个微调器项目之间的分隔符为白色。
我想将分隔符颜色和边框更改为深灰色。
答案 0 :(得分:0)
首先,您必须定义视图(水平线),它是微调器的项目的分隔线,您可以使用微调器的setOnItemSelectedListener方法在运行时更改该分隔线颜色,如下所示:
View tview1 = (View) view.findViewById(R.id.v_1 );
tview1.setBackgroundResource(android.R.color.transparent);
例如,XML文件:
<Spinner
android:id="@+id/move_branch"
android:backgroundTint="@color/color"
android:layout_width="0dp"
style="@style/Base.Widget.AppCompat.Spinner.Underlined"
android:layout_weight="1"
android:layout_height="wrap_content" />
MainActivity.java:
Spinner move_sem; // define spinner's id first
move_sem.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
View tview1 = (View) view.findViewById(R.id.v_1 );
tview1.setBackgroundResource(android.R.color.transparent);
try
{
search_sem= Integer.parseInt(semid.get(position) );
semname=sem_list.get(position);
}
catch (Exception ignored)
{
}
}
@Override
public void onNothingSelected(AdapterView<?> parent)
{
}
});
答案 1 :(得分:-4)
我猜它确实可以作为ListView
。
试试这个:
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:prompt="@string/your_prompt"
android:headerDividersEnabled="false"
android:footerDividersEnabled="true"
android:divider="@drawable/list_divider"
/>
你的list_divider是:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient
android:startColor="#000000"
android:centerColor="#CCCCCC"
android:endColor="#FFFFFF"
android:height="1px"
android:angle="0" />
</shape>
</item>
</layer-list>
PS:另请参阅this教程。似乎它有很多关于自定义Spinners
的信息。