看不到选定的文本 android AppcompactSpinner
Cannot see selected text android AppcompactSpinner
我在我的应用程序中放置了一个应用程序紧凑型微调器。我看不到所选文本(我认为这是因为所选文本的颜色变为白色,即与背景颜色相同)。我可以在下拉列表中看到文本。
支持设计 - 23.3.0
minSdkVersion: 15
targetSdkVersion 23
我的 Spinner 代码
<android.support.v7.widget.AppCompatSpinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/university_spinner">
</android.support.v7.widget.AppCompatSpinner>
查看下图了解错误
看这里是一步一步的解决方案。
步骤:1) 在您的 xml 文件中定义 AppCompactSpinner
<android.support.v7.widget.AppCompatSpinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/university_spinner">
</android.support.v7.widget.AppCompatSpinner>
步骤 : 2 ) 创建两个不同的 xml 文件。
xml file : spinner_item.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="14sp"
android:background="#FFFFFF"
android:textColor="#000000" />
xml file : spinner_dropdown_item.xml
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="40dp"
android:ellipsize="marquee"
android:textColor="#000000"/>
步骤 : 3 ) java 代码 :
声明
AppCompatSpinner appCompatSpinner;
String[] skills = {"Australian National University","Monash University"};
inside OnCreate
appCompatSpinner = (AppCompatSpinner)findViewById(R.id.university_spinner);
ArrayAdapter staticAdapter = new ArrayAdapter(MainActivity.this, R.layout.spinner_item, skills);
staticAdapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
appCompatSpinner.setAdapter(staticAdapter);
步骤:4)无Select 文本输出:
步骤 : 5 ) 使用 Select 文本输出 :
您好,发现问题出在文件 android.R.layout.simpler_spinner_item 中,因为它没有给出文本颜色。所以我只是复制了那个代码并给它一个黑色的文本颜色。
spinner_item.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:textColor="#000000"
android:textAlignment="inherit"/>
我在我的应用程序中放置了一个应用程序紧凑型微调器。我看不到所选文本(我认为这是因为所选文本的颜色变为白色,即与背景颜色相同)。我可以在下拉列表中看到文本。
支持设计 - 23.3.0
minSdkVersion: 15
targetSdkVersion 23
我的 Spinner 代码
<android.support.v7.widget.AppCompatSpinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/university_spinner">
</android.support.v7.widget.AppCompatSpinner>
查看下图了解错误
看这里是一步一步的解决方案。
步骤:1) 在您的 xml 文件中定义 AppCompactSpinner
<android.support.v7.widget.AppCompatSpinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/university_spinner">
</android.support.v7.widget.AppCompatSpinner>
步骤 : 2 ) 创建两个不同的 xml 文件。
xml file : spinner_item.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="14sp"
android:background="#FFFFFF"
android:textColor="#000000" />
xml file : spinner_dropdown_item.xml
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="40dp"
android:ellipsize="marquee"
android:textColor="#000000"/>
步骤 : 3 ) java 代码 : 声明
AppCompatSpinner appCompatSpinner;
String[] skills = {"Australian National University","Monash University"};
inside OnCreate
appCompatSpinner = (AppCompatSpinner)findViewById(R.id.university_spinner);
ArrayAdapter staticAdapter = new ArrayAdapter(MainActivity.this, R.layout.spinner_item, skills);
staticAdapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
appCompatSpinner.setAdapter(staticAdapter);
步骤:4)无Select 文本输出:
步骤 : 5 ) 使用 Select 文本输出 :
您好,发现问题出在文件 android.R.layout.simpler_spinner_item 中,因为它没有给出文本颜色。所以我只是复制了那个代码并给它一个黑色的文本颜色。
spinner_item.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:textColor="#000000"
android:textAlignment="inherit"/>