Можно ли сделать вкладки 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.

Ответ 1

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

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

Ответ 2

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

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

Ответ 3

Вы можете переопределить принцип проектирования 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" 

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

Ответ 4

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

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

android:layout_width="@dimen/action_BarWidth"
android:layout_height="@dimen/action_BarHeight"

Ответ 5

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

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

Ответ 6

мы можем динамически создавать панель действий из кода в классе 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);