大家好我有一个问题 我试图从左到右移动动作栏应用程序图标,标题,菜单或... 我正在使用SherlockActionBar和setCustomView查看代码 我的活动
private void BiftorSetUpActionBar() {
// TODO Auto-generated method stub
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
View actionbarview = getLayoutInflater().inflate(R.layout.biftor_action_bar, null);
View app_actionbar_bg =(View) actionbarview.findViewById(R.id.app_actionbar_bg);
app_actionbar_bg.setBackgroundResource(R.drawable.list_item_bg_normal);
BiftorApptitle=(TextView) actionbarview.findViewById(R.id.app_name);
BiftorAppIcon=(ImageView) actionbarview.findViewById(R.id.app_icon);
BiftorAppIcon.setClickable(true);
BiftorAppMenu=(ImageView) actionbarview.findViewById(R.id.app_menu);
BiftorAppIcon.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(!mDrawerLayout.isDrawerOpen(Gravity.RIGHT))
mDrawerLayout.openDrawer(Gravity.RIGHT);
else
mDrawerLayout.closeDrawer(Gravity.RIGHT);
}
});
BiftorAppMenu.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
openOptionsMenu();
}
});
getSupportActionBar().setCustomView(actionbarview);
}
我的操作栏布局
<?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="match_parent"
android:id="@+id/app_actionbar_bg"
android:background="@drawable/list_item_bg_normal"
>
<ImageView
android:id="@+id/app_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/app_menu"
android:layout_centerHorizontal="true"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#ffeeeeee"
android:textSize="20sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/app_menu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/app_icon"
android:layout_alignParentLeft="true"
android:src="@drawable/abs__ic_menu_moreoverflow_holo_dark" />
</RelativeLayout>
一切都还可以,但我有一个问题,当我的应用启动原始(默认)android操作栏将加载2-3秒然后我的自定义操作栏将显示。 我不想要它,我想完全删除原件。
看看这个视频你会得到我说的话
我在等。 全部谢谢
编辑1:
我通过在Google和此网站上搜索更改了一些内容,但首先是默认操作栏,然后加载我的自定义操作栏
private void BiftorSetUpActionBar(){ // TODO自动生成的方法存根
//getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
getSupportActionBar().setDisplayShowHomeEnabled(false);
getSupportActionBar().setDisplayShowTitleEnabled(false);
View actionbarview = getLayoutInflater().inflate(R.layout.biftor_action_bar, null);
View app_actionbar_bg =(View) actionbarview.findViewById(R.id.app_actionbar_bg);
app_actionbar_bg.setBackgroundResource(R.drawable.list_item_bg_normal);
.
.
.
.Skip....
.
.
.
getSupportActionBar().setCustomView(actionbarview);
getSupportActionBar().setDisplayShowCustomEnabled(true);}
并更改了style.xml
<style name="BiftorAppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>
<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
<item name="background">@drawable/list_item_bg_normal</item>
<item name="android:background">@drawable/list_item_bg_normal</item>
</style>
但同样没有: - (
答案 0 :(得分:0)
在一个片段中,您可以执行以下操作:
ActionBar actionbar = ((MainActivity)requireActivity()).getSupportActionBar();
actionbar.setDisplayOptions(actionbar.DISPLAY_SHOW_CUSTOM);
actionbar.setCustomView(R.layout.app_bar_custom_layout);