我正在尝试创建一个自定义Spinner,我遇到了这样的困难。
这是我想要达到的效果: Desired Effect
但是我发现很难将Spinner的背景颜色设置为黑色。我已经尝试设置android:background
属性,但是当我这样做时,Spinner完全消失,好像高度设置为0.我真的很感激任何帮助。
此外,这是我正在使用的代码:
<Spinner
android:id="@+id/simpleSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:backgroundTint="@color/white"
android:background="@color/black"
/>
答案 0 :(得分:0)
尝试这样的事情:布局
<RelativeLayout 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="60dp"
android:background="@drawable/border"
android:gravity="center">
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:background="@null"
android:textSize="16sp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:src="@drawable/arrow_down" /> //your down arrow on right side
</RelativeLayout>
对于可绘制边框:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="2dp"
android:color="#ffffff" />
<solid android:color="#000000" />
<corners
android:radius="0dp" />
<padding
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp" />
</shape>
对于微调器textview颜色,请使用项目的自定义布局:spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:gravity="left"
android:textColor="#FFFFFF"
android:padding="5dp"
/>
Java中的:使用布局
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item,list);