簡體   English   中英

更改Java代碼/ android中的微調框文本顏色?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM