Можно ли сделать высоту вкладок ActionBar выше высоты ActionBar? Если да, то как?

Я использую ActionBarSherlock

В аналогичном вопросе о высоте вкладок ActionBar я использовал:

<style name="YourTheme" parent="@android:style/Theme.Holo">
   <item name="android:actionBarStyle">@style/blah1</item>
   <item name="android:actionBarTabStyle">@style/blah2</item>
   <item name="android:actionBarSize">80dp</item>
   ..
</style>

И я предположил, что вместо этого могу использовать этот конкретный атрибут для каждого стиля.

<item name="android:actionBarSize">80dp</item>

И индивидуально настроить высоту ActionBar от высоты вкладок ActionBar.

Но это не работает.

Итак, это принцип дизайна Android, который я не могу отменить?

Вкладки всегда должны быть той же высоты, что и ActionBar.


person wlays    schedule 13.05.2012    source источник


Ответы (6)


Я не уверен в этом на 100%, но по моему опыту это невозможно сделать, андроид не позволяет. Возможно, в будущем это изменится, но на данный момент с этим мало что можно поделать.

Надеюсь это поможет!

person chuckliddell0    schedule 21.05.2012

Вы пробовали использовать настраиваемую панель действий? Вы можете полностью настроить панель действий с помощью отдельного макета.

Этот пример покажет вам, как это сделать.

person prijupaul    schedule 19.09.2013

Вы можете переопределить принцип дизайна Android для панели действий, я пробовал, и это может сработать для вас.

Скопируйте следующий код в файл styles.xml.

<style name="ThemeSelector" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/myTheme.ActionBar</item>
</style>

<style name="myTheme.ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">imageforactionbar</item>
    <item name="android:titleTextStyle">@style/myTheme.ActionBar.Text</item>
    <item name="android:height">60dp</item>
</style>

1) Поместите изображение в папку с возможностью рисования

2) написать стиль темы 'myTheme.ActionBar.Text' в стиле xml.

<style name="myTheme.ActionBar.Text" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/white</item>
    <item name="android:textSize">@dimen/app_head</item>
</style>

Измените файл манифеста соответственно, включите

android:theme="@style/ThemeSelector" 

под тегом приложения.

person Rushi    schedule 13.02.2014

вы можете переопределить панель действий

getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.action_bar);

android:layout_width="@dimen/action_BarWidth"
android:layout_height="@dimen/action_BarHeight"
person Arulselvam    schedule 02.04.2014

Нет, вы не можете изменить размер встроенной панели действий в ICS. Высота встроенной панели действий всегда составляет 48 dip (портрет) или 40 dip (пейзаж).

Но вы можете реализовать свою собственную панель действий, если настаиваете на изменении ее высоты.

person Barbie    schedule 18.10.2014

мы можем создать панель действий динамически из кода в классе Java или из темы:

Шаг 1: Мы можем изменить изображение, имя, цвет, высоту и т. д. панели действий для конкретного класса, это один процесс.

    ActionBar actionBar = getActionBar();
   // show the action bar title
    actionBar.setDisplayShowTitleEnabled(true);
    LayoutParams test = new LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT, Gravity.CENTER | Gravity.CENTER);
    View actionBarView = LayoutInflater.from(this).inflate(
            R.layout.x, null); // layout which contains your
                                            // button.
    actionBar.setCustomView(actionBarView, test);
    actionBar.setDisplayShowCustomEnabled(true);

    SpannableString s = new SpannableString("Test");
    s.setSpan(new ForegroundColorSpan(Color.parseColor("#ffffff")), 0,
            s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

    // Update the action bar title with the TypefaceSpan instance
    actionBar.setTitle(s);
person ManiTeja    schedule 10.12.2015