2012-05-30 38 views
1

我想更改使用操作欄Sherlock 4.0的下拉列表中的字體大小。如何更改操作欄下拉列表中的文本大小 - 與操作欄Sherlock

我從[https://github.com/JakeWharton/ActionBarSherlock/issues/401]看到,你可以使用一個主題如下改變動作條標籤文字大小:

<style name="Theme.MyTheme" parent="Theme.Sherlock"> 
    <item name="android:actionBarTabTextStyle">@style/Widget.MyTabText</item> 
    <item name="actionBarTabTextStyle">@style/Widget.MyTabText</item> 
</style> 

<style name="Widget.MyTabText" parent="Widget.Sherlock.ActionBar.TabText"> 
    <item name="android:textSize">14sp</item> 
</style> 

但我可無法找到如何更改下拉列表中的文本大小(即,標題和各個下拉列表項)。

任何線索?謝謝。

回答

0

如果你想看到的微調項大當點擊它,你可以使用此代碼:

String[] objects = { "Tehran", "Shiraz", 
      "Esfehan" }; 
    ArrayAdapter<String> ap = new ArrayAdapter<String>(
      this, 
      android.R.layout.simple_spinner_dropdown_item, 
      objects); 

    sp.setAdapter(ap); 

,但如果你想增加在轉文本的字體,你必須定製arrayadapter使用,使用這個鏈接對於較大見微調項目的詳細信息和TextView中的設置TEXTSIZE:Spinner ArrayAdapter crashing with custom layout

+0

感謝。我使用ABS設計模式,它具有在XML文件中定義的微調字符串,所以我不太清楚如何使用你的想法。我嘗試使用themes.xml文件解決它(如下所示)(不起作用): <樣式名稱= 「MyDropDown」 父= 「Widget.Sherlock.Spinner.DropDown.ActionBar」> \t <項目名稱= 「android:textSize」> 32sp \t \t gcl1

+0

通過電子郵件發送您的項目來解決它,我不知道是什麼是ABS設計。 [email protected] – AliSh

+1

ABS = Actionbar Sherlock。我已經處理好了,謝謝你的建議。 – gcl1

0

我已經研究過的ActionBar福爾摩斯的來源,spiner文本的主題使用spinnerItemStyle/actionDropDownStyle但改變沒有得到效果
然而,它可以定義你的習慣米佈局在spinerAdapter象下面這樣:

Context context = getSupportActionBar().getThemedContext(); 
    ArrayAdapter<CharSequence> list = ArrayAdapter.createFromResource(
      context, R.array.orderstatus, R.layout.spinner_item); 
    list.setDropDownViewResource(R.layout.spinner_dropdown_item); 
    getSupportActionBar().setDisplayShowTitleEnabled(false); 
    getSupportActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 
    getSupportActionBar().setListNavigationCallbacks(list, this); 

在佈局文件等:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="@style/ActionBar.TitleText" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ellipsize="marquee" 
    android:singleLine="true" />