我是Android开发的新手,我想为我的客户制作一个导航抽屉。
如何在导航栏中的操作栏中添加徽标并删除标题。
我的代码:
活动
public void restoreActionBar() {
ActionBar actionBar = getSupportActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#D5D2D4")));
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle(mTitle);
actionBar.setDisplayUseLogoEnabled(true);
}
清单活动
<activity
android:name=".activity.Grid_Home_Activity"
android:label="@string/title_activity_grid__home_"
android:theme="@style/Theme.ActionBarJp">
</activity>
样式
<style name="Theme.ActionBarJp" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarSize">60dp</item>
<item name="logo">@drawable/logo</item>
<item name="displayOptions">useLogo|showHome</item>
</style>
有人可以帮忙吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用https://github.com/jgilfelt/SystemBarTint此库 并使用如下。
public ActionBar enableCustomCenterTitle(Context context, boolean isShowBack, boolean isWhite) {
ActionBar actionBar = enableCustomTitle();
View actionbarLayout = LayoutInflater.from(context).inflate(
R.layout.actionbar_layout, (ViewGroup) actionBar.getCustomView(),false);
if (isWhite) {
actionbarLayout = LayoutInflater.from(context).inflate(
R.layout.actionbar_layout_white, (ViewGroup) actionBar.getCustomView(),false);
TextView back = (TextView) actionbarLayout.findViewById(R.id.action_bar_back);
back.setTextColor(getResources().getColor(R.color.orange));
mTintManager.setStatusBarTintColor(getResources().getColor(R.color.white));
setStatusBarDarkMode(true, this);
}
ActionBar.LayoutParams params = new
ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT,
ActionBar.LayoutParams.MATCH_PARENT, Gravity.CENTER);
View backView = ButterKnife.findById(actionbarLayout, R.id.action_bar_back);
if (isShowBack) {
backView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onBackPressed();
}
});
backView.setVisibility(View.VISIBLE);
} else {
backView.setVisibility(View.GONE);
}
actionBar.setCustomView(actionbarLayout, params);
return actionBar;
}
答案 2 :(得分:0)
您可以使用setLogo
设置resDrawable
或Drawable
对象。至于ActionBar上的徽标大小,我相信它是32x32 dp;根据{{3}}
要删除标题,只需使用actionBar.setTitle("")
即可。这段代码看起来好像没有标题。
还有一点,您应该将ActionBar
更改为this。
答案 3 :(得分:0)
由于操作栏已弃用,最好是用户ToolBar,并可以在您的应用中使用material design concepts。
按照以下说明:
1.在res
文件夹中创建<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/grey"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_Logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" />
</LinearLayout>
</android.support.v7.widget.Toolbar>
。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
</LinearLayout>
打开主要活动(activity_main.xml)的布局文件并添加工具栏。
MainActivity.java
在onCreate()
中,在mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
方法中添加工具栏小部件的引用:
{{1}}