我有一个操作栏,左侧有一些我无法删除或找到的内容。
这是它的样子:
我将动作栏的背景设为白色以查看差异。
以下是操作栏的代码:
ActionBar actionBar = getSupportActionBar();
mCustomAB = getLayoutInflater().inflate(R.layout.action_bar, null);
ActionBar.LayoutParams lp = new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, ActionBar.LayoutParams.MATCH_PARENT, Gravity.LEFT| Gravity.CENTER_VERTICAL);
actionBar.setCustomView(mCustomAB, lp);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setHomeButtonEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setIcon(android.R.color.transparent);
这里是操作栏的整个布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/White">
<ImageButton
android:id="@+id/drawer_right"
android:layout_width="60dp"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_gravity="end"
android:background="@null"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="4dp"
android:scaleType="centerInside"
android:src="@drawable/ic_alerts" />
<ImageView
android:id="@+id/alert_red"
android:layout_width="@dimen/alert_dimen"
android:layout_height="@dimen/alert_dimen"
android:layout_alignRight="@+id/drawer_right"
android:layout_alignTop="@+id/drawer_right"
android:layout_marginRight="20dp"
android:layout_marginTop="20dp"
android:src="@drawable/ic_alert_red" />
<TextView
android:id="@+id/alert_counter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/alert_red"
android:layout_alignTop="@+id/alert_red"
android:background="@android:color/transparent"
android:text="1"
android:textColor="@color/White" />
<ImageButton
android:id="@+id/other_options"
android:layout_width="60dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_gravity="end"
android:background="@null"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="4dp"
android:scaleType="centerInside"
android:src="@drawable/ic_dropdown" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/action_bar_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:text="SM MOON"
android:textColor="@color/Theme"
android:textSize="20sp" />
</LinearLayout>
</RelativeLayout>
顺便说一下,放置它的主要活动是抽屉布局。不确定它是否对它有任何影响。我也尝试为主要布局添加不同的bg颜色,但没有发生任何事情。
提前致谢!
答案 0 :(得分:2)
这是新的Android ToolBar
。添加
<style name="AppThemeToolbar" parent="Widget.AppCompat.Toolbar">
<item name="contentInsetStart">0dp</item>
<item tools:ignore="NewApi" name="android:contentInsetStart">0dp</item>
</style>
到你的风格,以删除额外的填充
答案 1 :(得分:0)
尝试以下代码,它可能会帮助您
LayoutInflater m_inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ActionBar m_actionBar = getSupportActionBar();
View m_viewActionBar = m_inflater.inflate(R.layout.custom_actionbar_title_layout, null);
ActionBar.LayoutParams m_params = new ActionBar.LayoutParams(ActionBar.LayoutParams.WRAP_CONTENT, ActionBar.LayoutParams.MATCH_PARENT, Gravity.CENTER);
TextView m_tvTitle = (TextView) m_viewActionBar.findViewById(R.id.cal_tvActionbarTitle);
m_tvTitle.setText(p_title);
m_actionBar.setCustomView(m_viewActionBar, m_params);
m_actionBar.setDisplayShowCustomEnabled(true);
m_actionBar.setDisplayShowTitleEnabled(false);
m_actionBar.setDisplayHomeAsUpEnabled(false);
m_actionBar.setHomeButtonEnabled(false);
这是我的自定义操作栏布局文件,您可以根据需要进行更改
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/cal_tvActionbarTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textColor="@color/white"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold" />
</LinearLayout>
Style.xml的代码
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="actionBarStyle">@style/MyActionBar</item>
<item name="android:actionBarStyle">@style/MyActionBar</item>
<!-- Customize your theme here. -->
</style>
<!-- ActionBar styles -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/actionbar_bg</item>
<item name="background">@color/actionbar_bg</item>
<item name="android:homeAsUpIndicator">@drawable/ic_backarrow</item>
<item name="homeAsUpIndicator">@drawable/ic_backarrow</item>
</style>
</resources>