这是我的自定义布局xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"
android:adjustViewBounds="true"
android:orientation="horizontal" >
<ImageView
android:id="@+id/weather"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/weather" />
<ImageView
android:id="@+id/like"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:src="@drawable/like" />
<ImageView
android:id="@+id/gps2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:src="@drawable/gps2" />
<ImageView
android:id="@+id/gps1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:src="@drawable/gps1" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center_vertical|right"
android:textSize="14sp"
android:layout_weight="1"
android:textColor="#fff"
android:text="TextView" />
</LinearLayout>
这是我的动作栏java代码:
ActionBar actionBar = getSupportActionBar();
LayoutInflater layoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View mCustomView = layoutInflater.inflate(R.layout.actionbar, null);
actionBar.setCustomView(mCustomView);
actionBar.setDisplayShowCustomEnabled(true);
getSupportActionBar().setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setHomeButtonEnabled(true);
actionBar.setIcon(null);
这是清单中的活动主题:
android:theme="@style/Theme.AppCompat.Light"
结果如下:
如你所见,黑色布局并没有填满宽度,我不知道为什么。如何制作自定义操作栏以填充屏幕宽度?
答案 0 :(得分:2)
在您的操作栏java代码中,替换
actionBar.setCustomView(mCustomView);
与
actionBar.setCustomView(mCustomView, new Toolbar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
希望这对你有帮助。!
答案 1 :(得分:0)
尝试
android:layout_width="fill_parent"
并删除
android:adjustViewBounds="true"
我希望它会起作用
答案 2 :(得分:0)
只需将android:setcontentstart
和android:setcontentend
设置为0dp
。