我有一个自定义的应用程序主页图标,并希望它能够与actionbar完全靠左对齐,与屏幕边缘相接触。是否有可能实现这一点,如果可以,该如何实现?我没有找到任何设置填充或外边距以使其完全对齐到左侧的选项。
我有一个自定义的应用程序主页图标,并希望它能够与actionbar完全靠左对齐,与屏幕边缘相接触。是否有可能实现这一点,如果可以,该如何实现?我没有找到任何设置填充或外边距以使其完全对齐到左侧的选项。
我终于做到了。您需要使用自定义操作栏视图。实际上非常容易:
(这是使用ActionbarSherlock,也应该适用于股票兼容库...)
First in your res/values/themes.xml, set the actionbar display options to "custom":
<item name="android:displayOptions">showCustom</item>
Then create a file called res/layout/actionbar_layout.xml and place in it something like:
<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. -->
Next, in your activity code add the following:
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));
基本上就是这样了!如果有遗漏的地方,请告诉我。
拥有可自定义的操作栏视图有一些不错的好处,只需坚持基本原则,它看起来会很棒。