ActionBar削减左右侧?

时间:2016-04-23 06:26:57

标签: android android-actionbar

enter image description here

请看下面的图片,

这是代码:

    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {

        actionBar.setDisplayShowHomeEnabled(false);
        actionBar.setDisplayShowTitleEnabled(false);
        actionBar.setDisplayShowCustomEnabled(true);

        View view = getLayoutInflater().inflate(R.layout.action_bar, null);

        ActionBar.LayoutParams layoutParams = new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT,
                ActionBar.LayoutParams.MATCH_PARENT);
        actionBar.setCustomView(view, layoutParams);
        view.getLayoutParams().width = ActionBar.LayoutParams.MATCH_PARENT;
        Toolbar parent = (Toolbar) view.getParent();
        parent.setContentInsetsAbsolute(0, 0);


        TypedValue tv = new TypedValue();
        if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
            int actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, getResources().getDisplayMetrics());
            View bottom = findViewById(R.id.bottomLayout_FrameLayout_LoginActivity);
            bottom.getLayoutParams().height = actionBarHeight;

        }
        tvTitleActionBar = (TextView) actionBar.getCustomView().findViewById(R.id.title_TextView_ActionBar);

        getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    }

R.layout.action_bar:

<?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/head_bottom_blue_color">

    <ImageView
        android:id="@+id/openSlideMenu_ImageView_ActionBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:clickable="true"
        android:src="@android:drawable/ic_menu_sort_by_size"
        android:visibility="gone" />

    <TextView
        android:id="@+id/title_TextView_ActionBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:textAppearance="@android:style/TextAppearance.Medium"
        android:textColor="@android:color/white"
        android:textStyle="bold" />
</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

这看起来与here解决的问题相同 - 请参阅建议的答案 - 尤其是选定的答案 Amrut Bidri提出的答案(在他的情况下,您添加几行)。希望这能解决您的问题。

答案 1 :(得分:0)

将这些添加到样式

<style name="MyActionBar" parent="@style/Base.Widget.AppCompat.ActionBar">
    <item name="contentInsetStart">0dp</item>
    <item name="contentInsetEnd">0dp</item>
</style>

然后在您的AppTheme中使用它

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="android:actionBarStyle">@style/MyActionBar</item>

希望有所帮助