26

標準のAndroid 4.0+アクションバーの左側のアイコンの周りのパディングを削除したい. アイコンを次のように設定しています:

getActionBar().setIcon(getResources().getDrawable(R.drawable.ic_action_myapp));

そして、soundcloud アプリと同様に、アイコンが上下の両方に触れてスペースを垂直に埋めるようにしたいと思います。

4

6 に答える 6

20

次のコードの toolbarStyle を変更する別の解決策 ( appcompat-v7 を参照) を見つけました。

<item name="toolbarStyle">@style/Widget.Toolbar</item>


<style name="Widget.Toolbar" parent="@style/Widget.AppCompat.Toolbar">
    <item name="contentInsetStart">0dp</item>
</style>
于 2014-12-29T09:41:35.063 に答える
2

Android 4.0 以降のアクション バーの左アイコンの周りのパディングを削除する際のparrzhang の返信の強化

 private void adjustHomeButtonLayout(){
        ImageView view = (ImageView)findViewById(android.R.id.home);
        if(view.getParent() instanceof ViewGroup){
            ViewGroup viewGroup = (ViewGroup)view.getParent();
            View upView = viewGroup.getChildAt(0);
            if(upView != null && upView.getLayoutParams() instanceof FrameLayout.LayoutParams){
                FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) upView.getLayoutParams();
                layoutParams.width = 20;// **can give your own width**
                upView.setLayoutParams(layoutParams);
            }
        }
    }
于 2015-04-14T16:58:59.557 に答える
0

ActionBar の高さを設定するには、次のような新しいテーマを作成できます。

<?xml version="1.0" encoding="utf-8"?>
<resources>   
    <style name="Theme.BarSize" parent="Theme.Sherlock.Light.DarkActionBar">
        <item name="actionBarSize">48dip</item>
        <item name="android:actionBarSize">48dip</item> 
    </style> 
 </resources>

このテーマをアクティビティに設定します。

android:theme="@style/Theme.BarSize"

次に、アイコンの高さを に設定します"match_parent"

これにより、上下のパディングが削除されます。

現在、左側の矢印はフレームワークに組み込まれているため、回避策として 2 つのオプションがあります。

  1. ActionBarSherlock を使用します。独自のドローアブルとリソースを使用するため、矢印アイコンを空の png に変更して、上向きのアイコンが左端に移動するようにすることができます。

  2. アップ/バック アイコンは次の要素から発生します。

public boolean onOptionsItemSelected(MenuItem item) 
               {
          switch (item.getItemId()) 
                {
                case android.R.id.home:
                            NavUtils.navigateUpFromSameTask(this);
              return true;
                }      
               }

したがって、このオプションをアップ ボタンに使用する代わりに、前のアクティビティを意図した別のアクションバー オプションを作成し、そのアイコンをアクション バーに配置することができます。

ただし、それはより大きな回避策になります。

それが役立つことを願っています.. :)

于 2013-04-22T03:23:09.930 に答える