具有 EditText 材质设计的工具栏

2024-07-04

我正在尝试制作带有 EditText 的工具栏,如下所示:

现在我可以做一些类似的事情,但只能使用静态标题,有什么想法可以开始吗?


我已经这样做了,如下所示:

Toolbar as AppBar (aka ActionBar)位于顶部,其下方的第二个工具栏有两个EditText。第一个工具栏位于CollapsingToolbarLayout如果你想让它折叠起来。

Java:

public class MainActivity extends AppCompatActivity {
    Toolbar toolbar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        toolbar = (Toolbar) findViewById(R.id.toolbar_1);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle("");
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

activity_main.xml:

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"      >

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_tool_bar_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:elevation="0dp"
            app:expandedTitleTextAppearance="@style/Widget.AppCompat.ActionBar.TabText"
            app:layout_scrollFlags="scroll|enterAlways"
            app:statusBarScrim="?attr/colorAccent">


            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar_1"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="@color/primary"
                android:minHeight="?attr/actionBarSize"
                android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                app:layout_collapseMode="none"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
            </android.support.v7.widget.Toolbar>

        </android.support.design.widget.CollapsingToolbarLayout>

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar_2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/primary"
            android:minHeight="?attr/actionBarSize"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:layout_collapseMode="none"
            app:elevation="0dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:paddingLeft="32dp"
                android:paddingTop="16dp"
                android:paddingBottom="56dp"
                android:paddingRight="16dp">

                <android.support.design.widget.TextInputLayout
                    android:id="@+id/lNameLayout"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/fNameLayout"
                    android:layout_marginTop="10dp">

                    <EditText
                        android:id="@+id/ltitle"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:ems="10"
                        android:hint="Title"/>
                </android.support.design.widget.TextInputLayout>

                <android.support.design.widget.TextInputLayout
                    android:id="@+id/lNameLayout2"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/fNameLayout"
                    android:layout_marginTop="10dp"
                    android:layout_marginBottom="10dp">

                    <EditText
                        android:id="@+id/ldesc"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:ems="10"
                        android:hint="Description"/>
                </android.support.design.widget.TextInputLayout>


            </LinearLayout>
        </android.support.v7.widget.Toolbar>

    </android.support.design.widget.AppBarLayout>


</android.support.design.widget.CoordinatorLayout>

Colors:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="primary">#303F9F</color>
    <color name="primary_dark">#3F51B5</color>
    <color name="accent">#00E5FF</color>

</resources>

And styles.xml:

<resources>
    <style name="AppTheme" parent="AppTheme.Base"/>
    <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorAccent">@color/accent</item>
        <item name="colorControlNormal">#FFF</item>
    </style>    
</resources>

Use android:theme="@style/AppTheme"用于清单中的应用和android:theme="@style/AppTheme.Base" for主要活动`。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有 EditText 材质设计的工具栏 的相关文章

随机推荐

  • pyqt 中的代码编辑器示例

    我尝试学习一些Qt PyQt 为此 我使用了代码编辑器示例 http doc qt io qt 4 8 qt widgets codeeditor example html的文档 当前行的突出显示效果很好 但行号不显示 实际上LineNum
  • 即使授予用户组完全权限后也无法在 C:\ProgramData\ 中创建文件

    我们有一个应用程序尝试写入 C ProgramData 文件夹中的 Access 数据库 mdb 在启用 UAC 的计算机上 我们发现访问数据库失败 因为它似乎无法创建锁定文件 默认情况下 可能是由于 UAC 用户 包括管理员 似乎没有写入
  • Rails 3 Observer——希望学习如何为多个模型实现观察者

    我想添加一个 Auditor Observer 它可以在创建 3 个模型 书籍 人物 作者 后随时执行操作 我最近听说了观察者功能 但找不到任何有关该功能的文档 Rails 3 支持吗 如何创建一个 Auditor Observer 来为
  • R as.POSIXct() 删除小时、分钟和秒

    我正在尝试用 R 来分析一些测量数据 我有一个 csv 文件 其中包含超过 200 万条测量线 这是一个例子 2014 10 22 21 07 03 00 00 7432442 0 2014 10 22 21 07 21 00 00 743
  • 禁用 Android Monkey 上的系统级事件

    当猴子测试我的应用程序时 adb shell monkey p com foo bar throttle 1000 v 14400 我注意到它可以访问我设备上的各种系统设置 例如音频控制和屏幕截图 根据http developer andr
  • 使用 gdb 在 xv6 上调试用户代码

    我正在做一个基于 xv6 的操作系统类 并且编写了一个需要在其上运行的程序 我知道我可以调试内核代码make qemu gdb但我不知道如何调试我自己的用户程序 假设我想调试cat 我该怎么做呢 Thanks 附 不是有xv6标签吗 这个问
  • Gitweb 失败:致命:refs/heads/master 缺少对象 0000000000000000000000000000000000000000 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试将 gitweb 与一组由
  • 错误:“访问受限 URI 被拒绝”

    访问受限 URI 被拒绝 代码 1012 中断此错误 xhttp send null function getXML xml file if window XMLHttpRequest var xhttp new XMLHttpReques
  • 如何使用生产存储桶数据启动 Firebase 存储模拟器?

    我正在使用 Firebase 模拟器来运行所有 Firebase 服务 我已成功通过运行以下命令来运行模拟器并备份 Firestore 数据 firebase emulators start import my directory 但我找不
  • Chart.js 忽略画布高度和宽度

    继Chart js 文档 http www chartjs org docs getting started creating a chart我正在尝试绘制一个小图表
  • 无堆栈协程与堆栈协程有何不同?

    背景 我问这个问题是因为我目前有一个具有许多 数百到数千 线程的应用程序 这些线程中的大多数在很大一部分时间内处于空闲状态 等待将工作项放入队列中 当工作项可用时 它会通过调用一些任意复杂的现有代码来处理 在某些操作系统配置上 应用程序会遇
  • 输入与输出上的 HTML/XSS 转义

    从我所看到的一切来看 对用户输入的内容转义 html 为了防止 XSS 的目的 的惯例似乎是在渲染内容时执行此操作 大多数模板语言似乎默认都会这样做 我遇到过类似的事情这个 stackoverflow 答案 https stackoverf
  • Scala:使用具体类型实现 Map

    我在 Scala 类型系统中遇到了某种怪癖 这让我有点困惑 我正在尝试创建一个扩展 Map String String 的类 但我不太清楚如何以编译器接受的方式实现 方法 这是我现在的代码 class ParamMap val pairs
  • SerializeObject 抛出 System.OutOfMemoryException

    我对 JsonConvert SerializeObject 有一个严重的问题我需要序列化超过500 000条字典记录才能使序列化抛出以下错误 System OutOfMemoryException 我尝试在 foreach 中单独序列化每
  • GWT 无法从 Hibernate 序列化我的对象

    这是我收到的错误 我到处寻找答案 但我无法弄清楚为什么其他人没有遇到同样的问题 当我从 Hibernate 检索 Proposal 对象时 会发生错误 该对象在作者和顾问这两个属性上具有 User Info 多对一约束 如果需要 我可以提供
  • 以编程方式将项目添加到相对布局

    我一直在到处寻找这个问题的答案 我是 Android 新手 尝试通过 java 而不是 xml 以编程方式将项目添加到相对布局 我创建了一个测试类来尝试一下 但项目不断堆叠而不是正确格式化 我现在只想将一个 TextView 放在另一个下面
  • OpenCL 中的重叠传输和设备计算

    我是 OpenCL 的初学者 我很难理解某些东西 我想改进主机和设备之间的图像传输 我制定了一个计划来更好地了解我 顶部 我现在拥有的 下图 我想要的 HtD 主机到设备 和DtH 设备到主机 是内存传输 K1 和 K2 是内核 我考虑过使
  • 使用 v8::Locker 的正确方法是什么?为什么必须使用它?

    我正在尝试使用 NDK 将 v8 嵌入到 Android 应用程序中 我有一个看起来像这样的 JNI 模块 未显示 JNI 映射代码 include
  • 我可以显示托管在 bitbucket 上的 Ipython 笔记本吗?

    我有一个非常简单的笔记本 托管在 github 和 bitbucket 上 这github 网址 https github com thomas haslwanter statsintro blob master ipynb demo ip
  • 具有 EditText 材质设计的工具栏

    我正在尝试制作带有 EditText 的工具栏 如下所示 现在我可以做一些类似的事情 但只能使用静态标题 有什么想法可以开始吗 我已经这样做了 如下所示 有Toolbar as AppBar aka ActionBar 位于顶部 其下方的第