我想在操作栏中放置一个微调器,就像在 Gmail 应用程序中一样。所以我创建了以下布局。
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView android:id="@+id/spinner_list_item_selected_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textStyle="bold"
android:gravity="center"
android:text="Sales" />
<TextView android:id="@+id/spinner_list_item_selected_text" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textStyle="bold"
android:gravity="center"
android:text="" />
</LinearLayout>
然后使用以下代码将该微调器加载到标题栏上:
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
getActionBar().setListNavigationCallbacks(mSpinnerAdapter, mOnNavigationListener);
它按预期工作,除了在横向模式下,文本不适合。在 Gmail 应用程序中,字体大小变小了。 有没有办法根据方向自动调整字体大小?
最佳答案
//你需要在values文件夹中使用dimens.xml
<!-- Text size for action bar titles -->
<dimen name="action_bar_title_text_size">18dp</dimen>
<!-- Text size for action bar subtitles -->
<dimen name="action_bar_subtitle_text_size">14dp</dimen>
<!-- Top margin for action bar subtitles -->
<dimen name="action_bar_subtitle_top_margin">-3dp</dimen>
<!-- Bottom margin for action bar subtitles -->
<dimen name="action_bar_subtitle_bottom_margin">5dip</dimen>
再创建一个包含 values-land 的文件夹
在 dimens.xml 中
<!-- Text size for action bar titles -->
<dimen name="action_bar_title_text_size">16dp</dimen>
<!-- Text size for action bar subtitles -->
<dimen name="action_bar_subtitle_text_size">12dp</dimen>
<!-- Top margin for action bar subtitles -->
<dimen name="action_bar_subtitle_top_margin">-2dp</dimen>
<!-- Bottom margin for action bar subtitles -->
<dimen name="action_bar_subtitle_bottom_margin">4dip</dimen>
Ref: 转到您的 /<android-sdk>/platforms/android-15/data/res
在这里你可以找到这个。
关于android - 如何根据方向自动调整操作栏微调器中的字体大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11686138/