我目前正在挖掘 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
我正在尝试为我的应用程序制作一些 Seekbar 作为距离值。我喜欢它看起来像这样(图片取自 -链接):
有人可以举一个简单的例子来说明如何制作这样的东西吗?
我知道我可以使用来自 Github 的“已经制作的”Seekbars,但我试图理解这个概念,以便我可以进一步设计它。
谢谢
android android-seekbar material-components material-components-android android-slider
安卓工作室 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
我正在使用以下材料设计库
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
如何在未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
我正在尝试更改单个选择 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
我希望我的按钮有圆角,例如:
要在 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
//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
我需要向 Android Studio 项目添加什么依赖项才能使用此组件?一般来说,如何知道我需要添加什么依赖项才能使用 Google Material 组件?
android material-design material-components material-components-android android-slider
我正在尝试这种方式
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