如何删除应用程序图标和ActionBar屏幕边缘之间的边距?

时间:2012-02-13 18:35:02

标签: android android-3.0-honeycomb android-actionbar

我的应用程序有一个自定义主页图标,我希望它一直对齐到操作栏的左侧,这样它就会触及屏幕的边缘。这是可能的,如果是的话,怎么办呢?我没有看到任何设置填充或边距以使其一直向左对齐的东西。

1 个答案:

答案 0 :(得分:5)

我终于成功了。您需要使用自定义操作栏视图。这实际上非常简单:

(这是使用ActionbarSherlock,它也应该与stock compat库一起使用...)

  • 首先在res / values / themes.xml中,将操作栏显示选项设置为“自定义”:

    <item name="android:displayOptions">showCustom</item>
    
  • 然后创建一个名为res / layout / actionbar_layout.xml的文件,并在其中放置如下内容:

    <ImageView
        android:id="@+id/home_icon"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="5dp"
        android:scaleType="centerCrop"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent" />
    
    <!-- Add textviews or whatever you like here to replicate the actionbar
         title etc. -->
    

  • 接下来,在您的活动代码中添加以下内容:

    View mActionCustomView = getSherlockActivity().getLayoutInflater()
        .inflate(R.layout.actionbar_layout, null);
    getSherlockActivity().getSupportActionBar().setCustomView(
            mActionCustomView);
    
    ImageView homeIcon = (ImageView)mActionCustomView
        .findViewById(R.id.home_icon);
    int abHeight = getSherlockActivity().getSupportActionBar()
        .getHeight();
    homeIcon.setLayoutParams(new RelativeLayout.LayoutParams(
                abHeight, abHeight));
    

基本上就是这样!如果我遗漏了什么,请告诉我。 拥有可自定义的操作栏视图有一些很好的好处,只需坚持基础,它看起来很棒。

enter image description here