[英]change spinner text color in java code/android?
我有以下微調器xml代碼:
<Spinner
android:id="@+id/spinnerMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:layout_weight="0.40"
android:textColor="@color/black"
android:background="@drawable/rounded_white_rectangle"/>
以及以下Java代碼:
公共無效setMainCategories(String [] mainCategories){
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, mainCategories);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerMain.setAdapter(spinnerArrayAdapter);
}
@Override
public void setSubcategories(String[] subCategories) {
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, subCategories);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerSub.setAdapter(spinnerArrayAdapter);
而且我不確定如何更改文本的Java代碼以更改顏色。
你有什么建議嗎? 非常感謝。
您可以通過樣式更改微調器中下拉菜單項的外觀:
添加樣式XML並使用內置的Android屬性:
<style name="mystyle">
<item name="android:spinnerDropDownItemStyle">@style/spinner_drop_item_style</item>
</style>
<style name="spinner_drop_item_style">
<item name="android:textAppearance">?android:attr/textAppearanceLarge</item>
<item name="android:textColor">@color/black</item>
<item name="android:paddingLeft">8dp</item>
<item name="android:gravity">center_vertical|start</item>
<item name="android:orientation">vertical</item>
<item name="android:background">@drawable/apptheme_list_selector</item>
</style>
根據您的用例,像@Jhaman建議的自定義視圖可能是更簡單的解決方案。
編輯:您還已經以某種方式將樣式應用於您的視圖或應用程序。 該文檔很好地解釋了這一點,但是所有Style系統和各種屬性的描述都不夠好。
為您的微調項創建一個自定義XML文件。
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="#FF0000"
android:padding="5dip"
/>
現在使用此文件顯示您的微調項,例如:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item,list);
希望它能對您有所幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.