23

このコードを使用しようとしました

<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" に変更しましたが、目的の画像と同じサイズのままです

ここに画像の説明を入力

そして私は今これを持っています

ここに画像の説明を入力

アイコンを最初の画像のように変更するにはどうすればよいですか?

4

4 に答える 4

23

アクション アイコン間のスペースを減らすには、styles.xml で actionButtonStyle を作成し、メイン テーマ (例: "AppTheme") を参照する必要があります。

最初のステップ (2 つの文を入れます):

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

2 番目のステップ (パラメーター「android:width」が重要な秘密です):

<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>

楽しめ

于 2015-12-18T18:31:17.273 に答える
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++)
    {

タブ名を取得するたびに、そのアイコンを追加します

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

次に、 get icon from array を変更し、必要なサイズのドローアブルにして、アクションバーに追加します。

    actionBar.addTab(actionBar.newTab().setText(tabnames[i])
                             .setIcon(d)
                             .setTabListener(this));
    }
于 2015-12-23T14:55:19.923 に答える
0

PNGファイルをdrawable-xhdpiフォルダーに移動することで解決しました。

于 2016-04-28T20:38:47.023 に答える