标签: material-components

TextAppearance.MaterialComponents.Body2 的定义?

我目前正在挖掘 Google IO 2019 android 应用程序的代码。在styles.xml第 77 行中,它说:

<style name="TextAppearance.IOSched.Body2" parent="TextAppearance.MaterialComponents.Body2" />
Run Code Online (Sandbox Code Playgroud)

但是我在哪里可以找到父级的定义TextAppearance.MaterialComponents.Body2?我的 Android Studio 中已经有本地 IO 项目,以防有助于解决该定义背后的内容。

谢谢!

android android-appcompat material-design material-components material-components-android

2
推荐指数
1
解决办法
1362
查看次数

具有最高价值的自定义搜索栏

我正在尝试为我的应用程序制作一些 Seekbar 作为距离值。我喜欢它看起来像这样(图片取自 -链接):

在此处输入图片说明

有人可以举一个简单的例子来说明如何制作这样的东西吗?

我知道我可以使用来自 Github 的“已经制作的”Seekbars,但我试图理解这个概念,以便我可以进一步设计它。

谢谢

android android-seekbar material-components material-components-android android-slider

2
推荐指数
1
解决办法
2477
查看次数

无法以编程方式更改 backgroundTint

安卓工作室 3.6

在我的风格。xml

 <style name="buttonStyle">
        <item name="android:textColor">@color/default_button_textColor</item>
        <item name="android:backgroundTint">@color/button_bg_color</item>
        <item name="android:textSize">18sp</item>
        <item name="android:textAllCaps">true</item>
    </style>

    <style name="buttonClickStyle">
        <item name="android:textColor">@color/button_bg_color</item>
        <item name="android:backgroundTint">@color/button_click_bg_color</item>
        <item name="android:textSize">18sp</item>
        <item name="android:textAllCaps">true</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

在 xml 布局中:

 <com.google.android.material.button.MaterialButton
            android:id="@+id/buttonStartSearchBluetooth"
            style="@style/buttonStyle"
            android:layout_width="0dp"
            android:layout_height="@dimen/button_height"
            android:layout_margin="@dimen/button_margin"
            android:onClick="onClickButtonStartSearch"
            android:text="@string/start_search"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent" />
Run Code Online (Sandbox Code Playgroud)

当单击按钮时,我尝试像这样更改样式:

dataBinding.buttonStartSearchBluetooth.setTextAppearance(R.style.buttonClickStyle)
Run Code Online (Sandbox Code Playgroud)

但它只改变文本颜色。没变backgroundTint

为什么?

android android-button android-styles material-components material-components-android

2
推荐指数
2
解决办法
1948
查看次数

如何使 Android 中的材质切换按钮表现得像 Switch?

我正在使用以下材料设计库

implementation "com.google.android.material:material:1.2.0-alpha01"

这就是我实现材质切换按钮的方式

<com.google.android.material.button.MaterialButtonToggleGroup
    id="@+id/toggleBtnGroup"
    app:singleSelection="true"
    android:id="@+id/toggle_button_group"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:checkedButton="@+id/leftAlign">

    <com.google.android.material.button.MaterialButton
        id="@+id/leftAlign"
        style="?attr/materialButtonOutlinedStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Left"/>
    <com.google.android.material.button.MaterialButton
        id="@+id/centerAlign"
        style="?attr/materialButtonOutlinedStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Center"/>
    <com.google.android.material.button.MaterialButton
        id="@+id/rightAlign"
        style="?attr/materialButtonOutlinedStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Right"/>

</com.google.android.material.button.MaterialButtonToggleGroup>
Run Code Online (Sandbox Code Playgroud)

现在,当我选择其他按钮时,一次仅选择 1 个按钮,如何确保如果用户再次选择所选按钮,它不会被取消选择。因此本质上,我希望在特定时间至少选择这些按钮之一。材质按钮切换

一个人会怎样做呢?

android android-button kotlin material-components material-components-android

2
推荐指数
1
解决办法
5244
查看次数

如何在 TextInputLayout unfocus 中更改边框和颜色?

如何在未TextInputLayout聚焦时更改边框和颜色?

<com.google.android.material.textfield.TextInputLayout
        android:layout_width="match_parent"
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
        android:layout_height="wrap_content"
        app:boxStrokeWidth="4dp"
        app:boxStrokeColor="@color/colorPrimary"
        app:layout_constraintTop_toBottomOf="@id/a">

        <com.google.android.material.textfield.TextInputEditText
            android:layout_width="match_parent"
            android:hint="@string/app_name"
            android:textColorHint="@color/colorPrimary"
            android:layout_height="wrap_content"/>
    </com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

我尝试:

app:boxStrokeWidth="4dp"
app:boxStrokeColor="@color/colorPrimary"
Run Code Online (Sandbox Code Playgroud)

但是,不能在不聚焦的情况下工作

android android-xml android-textinputlayout material-components material-components-android

2
推荐指数
1
解决办法
3216
查看次数

如何更改 MaterialAlertDialog 中项目的文本颜色?

我正在尝试更改单个选择 MaterialViewAlertDialog 中项目的文本颜色。我实现了更改“RadioButton”颜色和标题颜色,但无法更改项目的文本颜色。现在我使用以下样式:

<style name="AlertDialog" parent="ThemeOverlay.MaterialComponents.Dialog.Alert">
        <item name="android:titleTextColor">@color/colorText</item>
        <item name="android:textColorSecondary">@color/colorText</item>
        <item name="android:textColorAlertDialogListItem">@color/colorText</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我还尝试使用 textAppearanceListItem 更改项目的文本颜色,但它不起作用。

android android-alertdialog material-design material-components material-components-android

2
推荐指数
1
解决办法
1112
查看次数

如何使用材料设计主题使按钮变圆?

我希望我的按钮有圆角,例如:

圆形按钮// 图片取自google

要在 Android 中使用材质主题实现此目的,请将:设置shapeAppearanceSmallComponent为有一个rounded角。

但设置shapeAppearanceSmallComponent也会影响所有其他组件,例如EditText现在它们也被舍入。

因此,我没有将其设置为shapeAppearanceSmallComponent,而是创建了一个shapeMaterialOverlay. 将此覆盖设置为 abuttonStyle并将主题中的此按钮样式设置为默认按钮样式。

它有效,但仅适用于默认按钮。如果我需要TextButton这样的:

<Button
    ...
    style="@style/Widget.MaterialComponents.Button.TextButton"/>
Run Code Online (Sandbox Code Playgroud)

不会TextButton被舍入。因此,作为一种解决方法,我创建了MyTextButton从那里延伸TextButton并设置shapeOverlay在那里的样式。

所以现在如果我需要一个TextButton,我会这样做:

<Button
    ...
    style="@style/Widget.MaterialComponents.Button.MyTextButton"/>
Run Code Online (Sandbox Code Playgroud)

反而。

我必须对所有其他按钮类型执行此操作。我想知道这种方法是否正确,如果不正确,有人可以指导我如何正确执行此操作吗?

非常感谢。

android android-button material-design material-components material-components-android

2
推荐指数
1
解决办法
7313
查看次数

如何在 MaterialDatePicker 中禁用过去的日期?

 //Material Date Picker
private val calendar = Calendar.getInstance()
private val constraintsBuilder = CalendarConstraints.Builder().setStart(calendar.timeInMillis)
private val builder = MaterialDatePicker.Builder.datePicker()
private val picker = builder
    .setSelection(calendar.timeInMillis)
    .setInputMode(MaterialDatePicker.INPUT_MODE_CALENDAR)
    .setCalendarConstraints(constraintsBuilder.build())
    .build()
Run Code Online (Sandbox Code Playgroud)

我正在使用上面的代码打开日历 setSelection 方法选择当前日期和 setStart 只适用于当月所以我无法选择上个月的日期但我仍然可以选择当月的过去日期。

如果有人可以帮助我。请告诉我。谢谢。

android datepicker android-datepicker material-components material-components-android

2
推荐指数
1
解决办法
818
查看次数

我需要添加什么依赖项才能使用 com.google.android.material.slider.Slider

我需要向 Android Studio 项目添加什么依赖项才能使用此组件?一般来说,如何知道我需要添加什么依赖项才能使用 Google Material 组件?

android material-design material-components material-components-android android-slider

2
推荐指数
1
解决办法
2521
查看次数

我需要在右上角的材料芯片上显示徽章。我怎样才能轻松做到呢?

我正在尝试这种方式

    override fun draw(canvas: Canvas) {
        super.draw(canvas)
        val viewWidth = width.toFloat()
        val padding = chipEndPadding
        canvas.drawOval(viewWidth - padding, padding, viewWidth, padding + padding, paint)
    }
Run Code Online (Sandbox Code Playgroud)

但它似乎没有出现,可能是因为chipDrawable。任何方法都可以实现这一点。此方法适用于所有其他视图,但不适用于芯片!

android android-chips material-components material-components-android

2
推荐指数
1
解决办法
829
查看次数