2014-10-05 68 views
2

我是Android編程的初學者。更改微調器的文字大小

我想改變一些問題here中提到的微調器的文本大小。我在res/values/如下創建my_spinner_style.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/spinnerTarget" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:textColor="#000000" 
    android:textSize="13sp" 
/> 

和使用這樣的適配器:

spinner = (Spinner)findViewById(R.id.spinner); 
ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(this,R.array.answers,android.R.layout.my_spinner_style); 
spinner.setAdapter(adapter); 
spinner.setOnItemSelectedListener(this); 

,並試圖在佈局文件夾中創建style.xml。我的適配器不識別my_spinner_style。我把它放在錯誤的目錄中嗎?

回答

2

它應該是R.layout.my_spinner_style,刪除android在開始,這使得它指向Android包,而不是你的項目。

請注意,您要導入的R是您的項目的資源,稱android.R指向Android資源,而不是您的項目。

//編輯這是一款基於屏幕尺寸

dimens.xml你怎麼有大小這是在值(默認):

<resources> 

<!-- Font sizes in SP --> 
<dimen name="small_font">14sp</dimen> 
<dimen name="big_font">20sp</dimen> 

</resources> 

dimens.xml這是在我的價值fr(法國,在你的情況下,你將有屏幕大小限定符)

<resources> 

<!-- Font sizes in SP --> 
<dimen name="small_font">16sp</dimen> 
<dimen name="big_font">22sp</dimen> 

</resources> 

然後在我的例如TextView,這是我的字體大小:

<TextView 
     android:id="@+id/textview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="@dimen/small_font"> 

    </TextView> 

現在的字體大小是依賴於語言(英語去values和法國去values-fr)你應該有同樣的事情,但使用屏幕大小限定符。

+0

它的工作原理。謝謝。 – SHREE6174 2014-10-05 14:25:38

+0

我已經爲不同的屏幕尺寸編寫了不同的xml文件。微調器文本大小的變化在所有佈局中都會發生變化。由於我將大小硬編碼爲26sp,因此它在所有尺寸上都保持不變。無論如何要改變這個? – SHREE6174 2014-10-05 14:33:29

+0

我假設您使用限定符來決定要根據屏幕大小加載哪個佈局。爲'values'文件夾創建相同的文件夾,並在其中放置一個'dimens.xml'(它的類型爲'resources')。然後,不要對這些值進行硬編碼,而是指向維度並從那裏獲取您的價值。我會在一分鐘內爲其發佈代碼段。 – NightwareSystems 2014-10-05 14:38:17

相關問題