【问题标题】:Override ActionBar with custom layout使用自定义布局覆盖 ActionBar
【发布时间】:2014-09-24 13:15:45
【问题描述】:

我正在尝试自定义 ActionBar 以显示徽标。我第一次尝试这样做

actionBar.setIcon(R.drawable.logo);

但是我需要这个更大一点,所以我尝试创建一个自定义布局并将其膨胀到默认的 actionBar 上。

我已经阅读了几篇教程,几乎所有教程都在相同的过程中匹配。所以我继续说:

custom_actionbar.xml

<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">

    <ImageView
        android:id="@+id/ablogo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="5dp"
        android:src="@drawable/logo" />
</RelativeLayout>

MainActivity.java -> onCreate() 方法

actionBar = getSupportActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);

/*Inflate your custom actionBar layout*/
View customActionBar = getLayoutInflater().inflate(R.layout.custom_actionbar, null);

actionBar.setCustomView(customActionBar);

但我意识到自定义操作栏布局并没有填满整个操作栏。应该在左侧的徽标图像位于操作栏的中间,看起来即使默认图标和标题没有显示,操作栏也为它们保留了不可触碰的空间。

那么,如何正确地覆盖操作栏并能够在其左侧设置我的徽标图像?

【问题讨论】:

    标签: android android-actionbar


    【解决方案1】:
        //write to this       
        getActionBar().setDisplayHomeAsUpEnabled(true);
                getActionBar().setHomeButtonEnabled(true);
                getActionBar().setCustomView(R.layout.custom_actionbar);
                getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
    
    
     <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="8dp"
            android:src="@drawable/nav" />
    

    【讨论】:

    • 这两种方式我都不明白
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-25
    • 1970-01-01
    • 2012-12-24
    • 2012-06-10
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    相关资源
    最近更新 更多