gpt4 book ai didi

android - 使 Android ActionBar 的 ActionView 的宽度与 ActionBar 的宽度相匹配

转载 作者:行者123 更新时间:2023-11-29 14:20:40 25 4
gpt4 key购买 nike

我想显示一个 AutoCompleteTextView这总是在我的 ActionBar 中扩展.这是我的菜单 xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/visibility_menu_search"
android:icon="@drawable/ic_action_search"
android:showAsAction="always"
android:actionLayout="@layout/visibility_search" />
</menu>

这是我的 layout/visibility_search.xml

<AutoCompleteTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/visibility_search_auto_complete_text_view" />

这是我的 Activity :

public class VisibilityActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(layout.visibility_activity);
getActionBar().setDisplayShowTitleEnabled(false);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.visibility, menu);
return super.onCreateOptionsMenu(menu);
}
}

我正在使用 showAsAction="always"因为我想要 AutoCompleteTextView始终可见(这将是 ActionBar 中唯一的东西)。

我的 AutoCompleteTextViewActionBar 中始终右对齐并且只有 100px 宽度。这是为什么?

更新

感谢Atul O Holic's answer ,我找到了适合我的案例的首选解决方案,它根本不需要任何特殊逻辑。我要走了my answer是正确的,因为它适用于一般情况,但对于我的具体情况,SearchView更好更容易。

最佳答案

theelfismike's answer为我指明了正确的方向,但我能够稍微简化一下。他链接到的答案是用 ActionBar#setCustomView 显示自定义 View 。 ,而我正在尝试使用 MenuItem#setActionView 设置操作 View 占据整个宽度。我的简化可能不适用于 ActionBar 自定义 View 。

这是对我有用的 xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/visibility_search_edit_text"/>
</RelativeLayout>

不幸的是,这隐藏了 ActionBar 的标题。 An answer in the question theelfismike linked to提到了这个问题,但我无法得到 suggested workaround上类。

此外,RelativeLayout 似乎是 Action View 所需的根。我尝试将 LinearLayoutlayout_gravitylayout_width 的许多不同组合一起使用,但我无法获得 LinearLayout以填充整个宽度。

关于android - 使 Android ActionBar 的 ActionView 的宽度与 ActionBar 的宽度相匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22823910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com