将EditText添加到工具栏

问题描述 投票:17回答:3

我的ToolbarEditText看起来像这样:

我尝试将其添加为ActionView但我得到了这个结果:

它基本上只是添加了我的单词'Tap Below'作为没有TextView的标题

这是我做的:

菜单。 XML

<menu>
    ... 
    ...
    <item
        android:id="@+id/edit_text_menu"
        android:orderInCategory="300"
        android:title="Tap Below"
        android:actionLayout="@layout/edit_text_layout"
        app:showAsAction="ifRoom|collapseActionView"
        />
</menu>

edit_text_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/myEditText"
    android:background="#000000">

</EditText>

我想通过这样做我将EditText布局添加到Toolbar ...有人可以帮忙吗?

或者,有没有一个技巧,我可以覆盖EditText上的Toolbar

我尝试添加<item name="windowActionModeOverlay">true</item>但它没有做任何事情。

android android-edittext android-custom-view toolbar
3个回答
32
投票

只需将EditText添加到ToolBar的XML中即可。这可能是最简单的方法。

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
      <EditText
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:id="@+id/myEditText"
         android:background="#000000" />
</android.support.v7.widget.Toolbar>

6
投票
  1. 将EditText添加到工具栏xml。
  2. Toolbar添加到顶部的Activity's xml布局中。
  3. 将工具栏设置为ActionBar: @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); }

这将使工具栏“变成”与ActionBar内部的EditText


0
投票

使用belove代码

       <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        app:titleTextColor="@color/colorAccent"
        app:theme="@style/ToolbarColoredBackArrow"
        app:subtitleTextColor="@color/colorAccent"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay">

        <TextView
            android:textColor="@color/colorAccent"
            android:text="June 14"
            android:textAllCaps="true"
            android:layout_gravity="right"
            android:layout_marginRight="11dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv_daily" />

    </android.support.v7.widget.Toolbar>
© www.soinside.com 2019 - 2024. All rights reserved.