Как изменить размер текста в выпадающем списке на панели действий - с помощью Actionbar Sherlock

1

Я пытаюсь изменить размер шрифта в выпадающем списке, который использует Actionbar Sherlock 4.0.

Я вижу из [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>

Но я не смог найти, как изменить размер текста в выпадающем списке (т.е. Как заголовок, так и отдельные выпадающие элементы списка).

Любые подсказки? Благодарю.

Теги:
android-actionbar
actionbarsherlock

2 ответа

0

Я заглянул в источник Actionbar Sherlock, тема слова 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" />
0

Если вы хотите, чтобы элементы с прядильщиками увеличивались при щелчке по нему, вы можете использовать этот код:

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

    sp.setAdapter(ap);

но если вы хотите увеличить шрифт текста в spinner, вы должны использовать пользовательский массивный адаптер, используйте эту ссылку для получения дополнительной информации и установите textSize для textView, чтобы увидеть больше элементов-счетчиков: Spinner ArrayAdapter, сбой с настраиваемой компоновкой

  • 0
    Благодарю. Я использую шаблон проектирования ABS, в котором есть строки спиннеров, определенные в XML-файле, поэтому я не совсем уверен, как использовать вашу идею. Я пытаюсь решить это с помощью файла themes.xml следующим образом (не работает): <resources> <style name = "GCTheme" parent = "Theme.Sherlock"> <item name = "android: actionDropDownStyle"> @ style / MyDropDown </ item> <item name = "actionDropDownStyle"> @ style / MyDropDown </ item> </ style> <style name = "MyDropDown" parent = "Widget.Sherlock.Spinner.DropDown.ActionBar"> < item name = "android: textSize"> 32sp </ item> </ style> </ resources>
  • 0
    напишите свой проект, чтобы решить его, я не знаю, что такое ABS Design. [email protected]
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню