eri*_*low 10 android android-actionbar android-tabs nexus-7
我的目标是增加ActionBar纵向模式的高度.我目前订
机器人:actionBarSize
在我的Themes.xml中.
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="DayTheme" parent="android:style/Theme.Holo.Light">
<item name="android:actionBarSize">@dimen/actionBarHeight</item>
<item name="android:actionBarTabTextStyle">@style/tab_indicator_text_dark</item>
</style>
<style name="NightTheme" parent="android:style/Theme.Holo">
<item name="android:actionBarSize">@dimen/actionBarHeight</item>
<item name="android:actionBarTabTextStyle">@style/tab_indicator_text_light</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
我在横向模式下获得了所需的效果,我将ActionBar高度增加到80dp.

然而,我将屏幕旋转为纵向模式,高度变化如此.

注意我在代码中进行以下调用.
final ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
bar.setDisplayShowTitleEnabled(false);
bar.setDisplayShowHomeEnabled(false);
Run Code Online (Sandbox Code Playgroud)
我正在开发一个带有android 4.2的Nexus 7.
如何在横向模式下以纵向模式获得相同的80dp高度?
Gun*_*son 10
你写了:
如何在横向模式下以纵向模式获得相同的80dp高度?
通过设置两者的Application题材属性android:actionBarSize ,并在ActionBar.TabView样式属性android:minHeight(或height)80浸.
一个基本的例子:
<style name="ThemeHoloWithActionBar" parent="android:Theme.Holo.Light">
<item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>
<item name="android:actionBarSize">80dip</item>
</style>
<style name="ActionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView">
<item name="android:minHeight">80dip</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在Manifest中设置主题:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/ThemeHoloWithActionBar" >
Run Code Online (Sandbox Code Playgroud)
在Activity中为ActionBar添加一些标签:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ActionBar actionbar = getActionBar();
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionbar.setDisplayShowTitleEnabled(false);
actionbar.setDisplayShowHomeEnabled(false);
ActionBar.Tab tabA = actionbar.newTab().setText("Tab A");
ActionBar.Tab tabB = actionbar.newTab().setText("Tab B");
ActionBar.Tab tabC = actionbar.newTab().setText("Tab C");
tabA.setTabListener(new MyTabsListener());
tabB.setTabListener(new MyTabsListener());
tabC.setTabListener(new MyTabsListener());
actionbar.addTab(tabA);
actionbar.addTab(tabB);
actionbar.addTab(tabC);
}
Run Code Online (Sandbox Code Playgroud)
这会在纵向模式下生成80倾角高度的标签:

和横向模式下80倾角的标签:

编辑:
对于此示例,Manifest中的SDK版本设置为:
android:minSdkVersion="12"
android:targetSdkVersion="15"
Run Code Online (Sandbox Code Playgroud)
根据OP,该示例适用于这些SDK设置.但是,如果targetSkdVersion将其设置为16或17,则该示例不起作用.OP已提交错误报告:
| 归档时间: |
|
| 查看次数: |
15076 次 |
| 最近记录: |