与此问题类似这里,但有一些关键的差别。最显著的是已接受的答案确实有效,直到最新的支持库发布为止。
下面是自定义视图布局:
下面是自定义视图布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFDD0000">
</LinearLayout>
现在,当您尝试仅设置自定义视图时: ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(R.layout.actionbar);
您最终会得到一个自定义布局,它不会填满整个宽度:
为了使这更有趣,我在另一个应用程序中设置了类似的布局:
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(R.layout.actionbar);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setHomeButtonEnabled(false);
在我更新支持库到v21之前,这确实有效。但一旦我更新,之前没有此问题的应用程序也遇到了相同的问题。
所以,我的问题是,有没有办法使用最新的支持库使自定义视图操作栏填充宽度?
编辑 经过更多测试,我发现将targetSdkVersion/compileSdkVersion编译设置为19并在库中使用v7:19.0.1(或v7:19.1.0)不会出现此问题(具有后来代码处理的主页图标),证实这绝对是最新版本的问题。