我正在开发一个将ActionBarSherlock与SlidingMenu一起使用的Android应用程序。
现在,这是我显示按钮以打开菜单的方式:
但是不想表明<在左侧,并更改其自定义图标。
这就是我设置滑动菜单的方法:
private void setUpSlidingMenuAndActionBar()
{
setBehindContentView(R.menu.menu);
setSlidingActionBarEnabled(true);
slidingMenu = getSlidingMenu();
slidingMenu.setMode(SlidingMenu.LEFT);
slidingMenu.setSlidingEnabled(false);
slidingMenu.setBehindOffset(100);
getSupportActionBar().setDisplayShowCustomEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
如何删除<左侧的图标并更改主页按钮图标?
当我点击该按钮时,我打开滑动菜单。
更新
按照黑带回答,这就是我所做的:
styles.xml :
<style name="AppTheme.ActionBarStyle" parent="@style/Theme.Sherlock">
<item name="android:homeAsUpIndicator">@drawable/but_menu</item>
<item name="homeAsUpIndicator">@drawable/but_menu</item>
</style>
的Manifest.xml:
<application
[ ... ]
android:theme="@style/AppTheme.ActionBarStyle" >
结果:
我可以看到绿色的Android !!!我不想看到它!!
答案 0 :(得分:3)
在样式内使用homeAsUpIndicator
<item name="android:homeAsUpIndicator">@drawable/home_up_drawable</item>
<item name="homeAsUpIndicator">@drawable/home_up_drawable</item>
我看起来像:
<style name="AppTheme.ActionBarStyle" parent="@style/Widget.Sherlock.ActionBar.Solid">
<item name="android:homeAsUpIndicator">@drawable/home_up_drawable</item>
<item name="homeAsUpIndicator">@drawable/home_up_drawable</item>
<item name="android:titleTextStyle">@style/AppTheme.TitleTextStyle</item>
<item name="android:background">@drawable/actionbar_background</item>
<item name="background">@drawable/actionbar_background</item>
<item name="android:displayOptions">showHome|useLogo</item>
<item name="displayOptions">showHome|useLogo</item>
<item name="android:windowContentOverlay">@null</item>
<item name="windowContentOverlay">@null</item>
</style>
答案 1 :(得分:0)
您可以自定义操作栏,并可以更改自定义的图标。
请按照以下步骤操作:
只有这样才能使Custom Sherlock成为Title。
在App上为标题创建单独的xml文件。
该文件包含这样的内容..
在此自定义布局中,我们可以更改背景颜色和自定义图标..
你只需将drawable中的图像添加到header_sherlock.xml文件按钮编码部分就像 机器人:背景= “@绘制/ imageName”
header_sherlock.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:weightSum="3"
android:background="#008000"
>
<Button
android:id="@+id/header_tvleft"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="left"
android:layout_marginTop="@dimen/margintop"
android:clickable="true"
android:paddingLeft="@dimen/layoutpaddingleft"
android:text="Back"
android:background="@drawable/imageName"
android:textColor="#ffffff"
android:textSize="@dimen/header_leftbtn"
/>
<Button
android:id="@+id/header_tvcenter"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center_horizontal"
android:layout_marginTop="@dimen/margintop"
android:layout_marginRight="@dimen/sherlockpaddingright"
android:layout_marginLeft="@dimen/sherlockpaddingleft"
android:text="Center"
android:textColor="#ffffff"
android:textStyle="bold"
android:background="@drawable/save1"
android:textSize="@dimen/header_title"
/>
<Button
android:id="@+id/header_tvright"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="right"
android:layout_marginTop="@dimen/margintop"
android:clickable="true"
android:paddingRight="@dimen/layoutpaddingright"
android:text="Right"
android:textColor="#ffffff"
android:background="@drawable/save1"
android:textSize="@dimen/header_rightbtn"
/>
</LinearLayout>
对于MainActivity或您要添加标题的活动:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setCustomView(R.layout.header_sherlock);
header_tvleft = (Button) findViewById(R.id.header_tvleft);
header_tvleft.setText("LeftTitleName");
header_tvcenter = (Button) findViewById(R.id.header_tvcenter);
header_tvcenter.setText("CenterTitleName");
header_tvright = (Button) findViewById(R.id.header_tvright);
header_tvright.setText("RightTitleName");
then you will the listener code for button like this..
//在里面的Button Listener代码中,我们可以设置滑动菜单编码....
header_tvleft.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// inside you will able to set your sliding menu whatever.......
}
});
注意:这仅适用于创建自定义操作栏.....
如果您想对此有任何澄清,我想回答您的问题......