简体   繁体   中英

Custom Action bar layout not getting proper width

I am trying to use a custom layout for action bar with navigation drawer but it seems like the width is not consistent.

Here's how it looks like right now:

ListView http://imageshack.com/a/img673/867/fTvd6X.png

For some reason the width is not occupied completely on the left of the action bar.

The items currently used in the custom action bar are : app name(Text View), Spinner(Some Text), ImageView on the right of Spinner.

This is how my layout xm looks like:

   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#000" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <ImageView
        android:layout_width="35dp"
        android:layout_height="35dp"
        android:padding="10dp"
        android:layout_gravity="center_vertical|left"
        android:src="@drawable/someIcon" />

    <TextView
        android:id="@+id/appTextLabel"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center"
        android:padding="10dp"
        android:text="someAppName"
        android:textColor="#555555"
        android:textSize="24sp"
        android:textStyle="bold" />

    <Spinner
        android:id="@+id/locationSpinner"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:background="#000"
        android:spinnerMode="dropdown" />

    <ImageView
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_gravity="center_vertical|right"
        android:src="@drawable/location_down_icon" />
</LinearLayout>

And sample code for Action bar :

    mActionBar = getSupportActionBar();

    mActionBar.setDisplayShowTitleEnabled(false);

    mActionBar.setDisplayShowCustomEnabled(true);

    mActionBar.setCustomView(actionBarLayout);

No idea whats going wrong with this.

Any help will be really appreciated. Thanks .. :)

Is this a space for icon (or logo)?

you might try

 getActionBar().setDisplayShowHomeEnabled(false);

but you have flags ActionBar.DISPLAY_SHOW_HOME and ActionBar.DISPLAY_HOME_AS_UP , maybe they are important for you...

also you might try set transparent icon

getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent)));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM