【问题标题】:Android material design "Text field dropdown menu", picker (spinner)Android材料设计“文本字段下拉菜单”,选择器(微调器)
【发布时间】:2018-01-19 18:13:39
【问题描述】:

我正在根据 Google Material Design 设计视图,我需要遵循为 Text fields 指定的规则,并为所有输入添加标签、提示、下划线和图标。通过将TextView 包装在TextInputLayout 中,这适用于简单的文本输入。但是,对于其他输入类型,例如选择器、菜单、微调器及其悬停、聚焦、禁用、错误状态,它会变得更加复杂。

请查看材料网站上的Text fields 文章,在字段类型前缀和后缀其他输入下或下面包含的图像。

我发现 this 问题的部分答案和 this 一个没有(实际)答案的问题,都是从 2015 年开始的。

我正在使用 API 26 和 Android Studio 2.3.3(均为当前版本),但在组件面板中,我既没有看到这些组件,也没有看到任何类似的东西。

问题

虽然可以使用布局、图标和形状来实现这些控件中的每一个,并编写一堆代码来支持每种不同的状态,但它们不应该是 design 库的一部分吗?

我是否缺少需要添加到我的项目中才能使用这些组件的组件或库(来自 Google,而不是第 3 方库),或者在 2 年后,这些组件或库实际上仍然不存在?

以下是我所指的图像:

【问题讨论】:

    标签: android android-studio material-design android-studio-2.3


    【解决方案1】:

    材料指南是针对移动和网络应用程序定义的。因此,某些组件未针对 android 实现。我不知道它是否可以帮助您,但是,特别是对于下拉菜单和文本字段,有一个名为 BetterSpinner 的有用库可以帮助您。

    要使用它,只需将其添加到您的 gradle 中即可

    implementation ('com.weiwangcn.betterspinner:library-material:1.1.0') {
        exclude group: 'com.android.support', module: 'appcompat-v7'
    }
    

    请注意,它使用了一些 apcompat v-7 的支持库,因此如果您已经为您的项目导入它,请确保将它们排除在外。

    之后使用它就像:

    <com.weiwangcn.betterspinner.library.material.MaterialBetterSpinner
        android:id="@+id/spinner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="Some Hint"
        app:met_floatingLabel="normal"/>
    

    这将为您提供将提示置于字段上方的行为,就像在输入布局中发生的那样。您可以通过更改 app:met_floatingLabel="normal" 的值来删除它

    您也可以使用这个库来编辑文本,而不必使用输入布局中的输入文本字段,这对我来说在 xml 中变得很大,只需使用:

    <com.rengwuxian.materialedittext.MaterialEditText
            android:id="@+id/editText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="Name"
            app:met_floatingLabel="normal"/>
    

    对不起,我不能做更多,我有时也会在材料组件上遇到同样的问题。希望 lib 对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2014-12-08
      • 1970-01-01
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-26
      • 2023-03-27
      相关资源
      最近更新 更多