我正在使用自定义的微调器。 spiner的每个项目都是TextView,高度和宽度设置为wrap_Content属性。我还将spiner和textview的背景颜色设置为十六进制的相同颜色代码。
我的问题是 - 颜色只能在写入文本的区域可见,其余区域可见为白色。任何人都可以告诉我需要设置什么属性,以便不会看到白色部分。
下面是每个微调项目的布局 -
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00ffff"
android:textsize="14sp"
>
Spinner项目在主布局中描述为
<Spinner android:id="@+id/spiner"
android:background="#00ffff"
android:spinnerMode="dropdown"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
任何人都可以建议正确设置背景颜色需要做些什么。我附上了显示问题区域的图像
答案 0 :(得分:3)
试试这个:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#00ffff"
android:textsize="14sp"
>
改变是:
android:layout_width="match_parent"
答案 1 :(得分:1)
改变这个:
android:layout_width="wrap_content"
到此:
android:layout_width="match_parent"
在TextView
答案 2 :(得分:0)
以编程方式:
spinner.setPopupBackgroundResource(R.drawable.yourcolor);
答案 3 :(得分:0)
对于自定义微调器,
有一个样式,Say bg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="#FFFFFF"/>
</shape>
</item>
<item
android:state_selected="true">
<shape android:shape="rectangle">
<solid android:color="#FFAA00"/>
</shape>
</item>
</selector>
在您的代码中,
sp1 = (Spinner)findViewById(R.id.spinner1);
sp1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
sp1.setBackgroundResource(R.drawable.bg);
return true;
}
});