自定义主页按钮android

时间:2015-08-04 08:50:48

标签: android

我正在处理一个应用程序,我需要将主页操作栏按钮更改为这样的内容。

**enter image description here**

所以我做的是制作一个带有两个ImageVies的自定义布局,一个用于徽标,另一个用于三个柱子用作主页按钮,这里是代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="0dp"
    android:layout_marginLeft="-10dp"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:padding="0dp" >

    <ImageView
        android:id="@+id/actionBa"
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_gravity="center_vertical|start"
        android:layout_marginLeft="-7dp"
        android:clickable="true"
        android:focusable="true"
        android:longClickable="true"
        android:src="@drawable/ic_ab_back_holo_dark_am" />

    <ImageView
        android:id="@+id/actionBarLogo"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="-10dp"
        android:layout_marginBottom="2dp"
        android:clickable="true"
        android:focusable="true"
        android:longClickable="true"
        android:src="@drawable/ic_logo" />

我尝试了这段代码并得到了这个:

final android.support.v7.app.ActionBar actionBar = getSupportActionBar();
    actionBar.setCustomView(R.layout.actionbar);
    actionBar.setDisplayShowTitleEnabled(true);
    actionBar.setDisplayShowCustomEnabled(true);
    actionBar.setDisplayUseLogoEnabled(true);
    actionBar.setDisplayShowHomeEnabled(false);

tittle消失了,我无法点击我的自定义主页按钮,我不知道如何删除动作栏的左边距。任何想法如何使它工作?

enter image description here

2 个答案:

答案 0 :(得分:0)

试试这样:

final ViewGroup actionBarLayout = (ViewGroup) getLayoutInflater().inflate(R.layout.custom_action_bar, null);
        ActionBar actionBar = getActionBar();
        actionBar.setDisplayShowCustomEnabled(true);
        actionBar.setDisplayShowHomeEnabled(false);
        actionBar.setDisplayShowTitleEnabled(false);
        actionBar.setCustomView(actionBarLayout);

答案 1 :(得分:0)

试试这段代码......解决你的问题吗?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="0dp"
        android:layout_marginLeft="0dp"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:padding="0dp" >

        <ImageView
            android:id="@+id/actionBa"
            android:layout_width="24dp"
            android:layout_height="24dp"
            android:layout_marginLeft="0dp"
            android:clickable="true"
            android:focusable="true"
            android:longClickable="true"
            android:src="@drawable/ic_ab_back_holo_dark_am" />

        <ImageView
            android:id="@+id/actionBarLogo"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginLeft="0dp"
            android:clickable="true"
            android:focusable="true"
            android:longClickable="true"
            android:src="@drawable/ic_logo" />

    </LinearLayout>