如何删除操作栏图标的空间?

时间:2014-01-23 08:59:37

标签: android android-actionbar

我使用了删除了图标     getActionBar()setDisplayShowHomeEnabled(假);

我正在使用imageview,应该填充整个操作栏。我想这样做,因为我希望图像为标题栏,包括徽标和文本视图。但仍希望能够使用动作栏功能。所以发生了什么事情,它有一个开始差距,图标曾经是。使用match_parent或fill_parent。

titlebar.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:orientation="horizontal"
       android:layout_width="fill_parent"
       android:layout_height="match_parent"  
       android:gravity="center_vertical"     
       android:background="@android:color/white">

       <ImageView
              android:id="@+id/header"
              android:contentDescription="@string/app_name"
              android:background="@drawable/ic_launcher"
              android:layout_width="150dp"
              android:layout_height="150dp"
              android:layout_marginStart = "20dp"/>

       <TextView
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_marginStart="40dp"
              android:layout_marginTop = "5dp"
              android:text="@string/titlebarText"
              android:gravity ="right"
              android:textColor="@android:color/black"
              android:textStyle="bold"
              />             
</LinearLayout>

http://i.imgur.com/3eTldKh.png

这就是我想要的动作栏

2 个答案:

答案 0 :(得分:2)

这解决了我的问题:

MainActivity.java

// Set up the action bar.
final ActionBar actionBar = getActionBar();
//set custom actionbar
actionBar.setCustomView(R.layout.titlebar);
//Displays the custom design in the actionbar
actionBar.setDisplayShowCustomEnabled(true);
//Turns the homeIcon a View     
View homeIcon = findViewById(android.R.id.home);
//Hides the View (and so the icon)
((View)homeIcon.getParent()).setVisibility(View.GONE);

titlebar.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
       xmlns:android="http://schemas.android.com/apk/res/android"
       android:orientation="horizontal"
       android:layout_width="fill_parent"
       android:layout_height="match_parent"
       android:gravity="center_vertical"
       android:background="@android:color/white">

       <ImageView
              android:id="@+id/header"
              android:contentDescription="@string/app_name"
              android:background="@drawable/ic_launcher"
              android:layout_width="150dp"
              android:layout_height="150dp"/>

       <TextView
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="@string/titlebarText"
              android:gravity ="right"
              android:textColor="@android:color/black"
              android:textStyle="bold"
              />             
</LinearLayout>

答案 1 :(得分:1)

删除android:layout_marginStart = "20dp"

中的ImageView