android - 如何在使用 Actionbar 时增加 android 中的菜单项宽度

标签 android android-actionbar menuitem

我在增加操作栏中菜单项的宽度时遇到问题,它采用固定宽度。下面是屏幕截图,

enter image description here

并且想要实现以下目标,

enter image description here

下面是代码:

search_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:background="@drawable/search_view_background"
    android:layout_width="match_parent"
    android:layout_marginTop="10dp"
    android:layout_marginBottom="10dp"
    android:layout_height="wrap_content">
    <TextView android:layout_width="0dp"
    android:padding="10dp"
    android:layout_weight="1"
    android:text="Search Product"
    android:textColor="@color/grey"
    android:gravity="center_vertical"
    android:drawableEnd="@drawable/ic_search"
    android:drawableRight="@drawable/ic_search"
    android:drawablePadding="20dp"
    android:textSize="@dimen/text_size_14sp"
    android:layout_height="match_parent"/>
</LinearLayout>

home_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<item
android:id="@+id/search"
android:onClick="onClickSearchButton"
android:orderInCategory="1"
android:title="@string/Search"
app:actionLayout="@layout/search_layout"
app:showAsAction="always"/>
<item
android:id="@+id/action_cart"
android:icon="@drawable/ic_menu_cart"
android:orderInCategory="2"
android:title="@string/action_cart"
app:showAsAction="always"/>

<item
android:id="@+id/overflow"
android:icon="@drawable/ic_menu_notifications"
android:orderInCategory="3"
android:title="@string/overFlowMenu"
android:visible="false"
app:showAsAction="always"/>

请提出您的建议,如何解决此问题。

谢谢

最佳答案

通过黑客手段做到了。

我知道这不是最好的,甚至不是很好的解决方案,但我通过 hack 做到了。

searchItem.getActionView().findViewById(R.id.text).setMinimumWidth(width);

您可以将特定宽度传递给 View ,以便它至少占用那么多空间。

关于android - 如何在使用 Actionbar 时增加 android 中的菜单项宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44654693/

相关文章:

android - 阻止 AppBarLayout.ScrollingViewBehavior 向 View 添加上边距?

android - 类 android.location.Location 没有定义无参构造函数

android - 跟进我的第一个应用程序 Android 培训时未显示操作

android - 如何在带有图标和文本的 ActionBar 中创建按钮?

android - 如何在 Espresso UI 自动化测试中检查 MenuItem 是否启用/禁用

java - 如何在RecyclerView中创建异构布局?

android - 三星Galaxy Note 2上的应用程序出现问题

android - 如何知道 Android 操作栏的操作图标是在顶部栏还是底部栏(拆分)?

wordpress - 将菜单项添加到 wordpress 的仪表板菜单中

ios - 如何在ios中的标签栏 Controller 内添加滑动菜单?