Я хочу изменить размер значка в панели задач - программирование
Подтвердить что ты не робот

Я хочу изменить размер значка в панели задач

Я попытался использовать этот код

<item
        android:id="@+id/male_button"
        android:layout_width="46dp"
        android:layout_height="56dp"
        android:layout_gravity="right"
        android:icon="@drawable/icon_male"
        android:showAsAction="always"
        android:title="i"/>
    <item
        android:id="@+id/female_button"
        android:layout_width="46dp"
        android:layout_height="56dp"
        android:layout_gravity="right"
        android:icon="@drawable/icon_female"
        android:showAsAction="always"
        android:title="i"/>

и я изменил android: layout_width = "46dp" на android: layout_width = "30dp" но я все еще имею такой же размер желаемое изображение

enter image description here

и теперь у меня есть это

enter image description here

Как я могу изменить значки как первый снимок?

4b9b3361

Ответ 1

Чтобы уменьшить пробел между значками действий, в вашем файле styles.xml вам нужно создать actionButtonStyle и указать на него основную тему (например: "AppTheme" ).

1-й шаг (поместите два предложения):

<style name="AppTheme" parent="Theme.AppCompat.Light">
  ...
  <item name="android:actionButtonStyle">@style/myActionButtonStyle</item>
  <item name="actionButtonStyle">@style/myActionButtonStyle</item>
  ...
</style>

Второй шаг (параметр "андроид: ширина" - большой секрет):

<style name="myActionButtonStyle" parent="Widget.AppCompat.ActionButton">
    <item name="android:minWidth">30dp</item>
    <item name="android:maxWidth">48dp</item>
    <item name="android:width">38dp</item>
</style>

наслаждайтесь этим

Ответ 2

private String[] tabnames;
final int[] ICONS = new int[] {
        R.drawable.a,
        R.drawable.b,
        R.drawable.c,}
tabnames = getResources().getStringArray(R.array.tabnames);

Это массивы, созданные здесь, и в res/values ​​/strings ваших доступных имен и имен ваших вкладок

actionBar = getActionBar();
    for (int i=0; i < tabnames.length; i++)
    {

Каждый раз, когда мы получаем tabname, мы добавляем значок для него

        Drawable dr = getResources().getDrawable(ICONS[i]);
        Bitmap bitmap = ((BitmapDrawable) dr).getBitmap();
        Drawable d = new BitmapDrawable(getResources(), 
        Bitmap.createScaledBitmap(bitmap, 50, 50, true));

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

    actionBar.addTab(actionBar.newTab().setText(tabnames[i])
                             .setIcon(d)
                             .setTabListener(this));
    }

Ответ 3

Я решил, переместив png файлы в папку drawable-xhdpi.

Ответ 4

Посмотрите этот ответ. Вы должны установить размер ActionBar в теме приложения или активности. Затем вы можете установить высоту значков на "match_parent".