如果有人能帮我找到有关自定义sherlock操作栏的详细信息,我将非常感谢。
更具体一点:我需要一个带有四个按钮的操作栏。条形两侧的两个小按钮(左侧和右侧第二个),以及条形中间的一个“配对”单选按钮。 当我说“配对”时,我的意思是在iOS中,当有两个按钮彼此靠近时,当我按下一个时 - 第二个是未按下的,反之亦然。 总而言之,它应该是这样的。
甚至可以做到这一点,或者我应该忘记使用美妙的sherlock生物?
答案 0 :(得分:6)
我个人会放弃使用ActionBarSherlock的想法,而只是使用自己的布局资源来实现它。
作为ActionBarSherlock的用户,我可以说它是一个非常棒的库,因为它实际上允许您在所有设备上使用ActionBar API,包括pre-Honeycomb,这意味着您不必编写单独的UI以适应预先蜂窝装置。但ActionBarSherlock的意思是它只提供与本机ActionBar相同的API。问题在于,ActionBar在创造性地使用它时具有限制性,因为它旨在提供特定的功能和控制,以适应Google希望您实现UI的方式。简而言之,您可以指定显示在栏内某处的自定义布局View
。您还可以控制哪些菜单项显示为放置在栏右侧的操作项(尽管最终仍然取决于系统,基于屏幕空间,如果这些项在栏上可见)。该栏还允许您实现一些非常特殊的功能(操作视图,操作提供程序等)
但是如果你想创建一个非常自定义的布局,就像你想象的那样,和你不需要ActionBar(或ActionBarSherlock)提供的特殊功能,那么你可能最好从头开始做。
答案 1 :(得分:0)
是的,你可以让你的Sherlock ActionBar如上所示。您必须将自定义视图设置为SherLock ActionBAr。只需几行代码
getSupportActionBar()
.setDisplayShowCustomEnabled(true);
getSupportActionBar().setCustomView(
R.layout.your_custom_layout);
你自定义布局应该像这样的RelativeLayout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="72dp" >
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:src="@drawable/icon" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" >
<ImageButton
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="@drawable/icon" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:src="@drawable/icon" />
</LinearLayout>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:src="@drawable/icon" />
</RelativeLayout>