gpt4 book ai didi

java - 尽管我可以使用 MaterialButton,但无法使用 MaterialButtonToggleGroup?

转载 作者:行者123 更新时间:2023-11-29 00:52:17 27 4
gpt4 key购买 nike

我想在我的应用中实现这种外观: look

我在 Activity 中的 xml 代码看起来像这样:

<com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/toggleGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content">

<com.google.android.material.button.MaterialButton
android:id="@+id/button1"
... />

<com.google.android.material.button.MaterialButton
android:id="@+id/button2"
... />

<com.google.android.material.button.MaterialButton
android:id="@+id/button3"
... />
</com.google.android.material.button.MaterialButtonToggleGroup>

我迁移到 androidx,并在我的样式中使用了 Material 组件,但出于某种原因,我收到了一个运行时错误:

二进制 XML 文件:扩展类 com.google.android.material.button.MaterialButtonToggleGroup 时出错

implementation "com.google.android.material:material:1.0.0"

不过,当在没有组的情况下使用 com.google.android.material.button.MaterialButton 时,它会工作得很好,这意味着我使用了正确的样式和 gradle 实现。

我还尝试了以下操作:

  • 使缓存失效
  • 多次删除并重新导入 androidx.appcompat:appcompat:1.1.0com.google.android.material:material:1.0.0
  • 关闭并重新打开 android studio
  • 关闭后重新导入项目
  • 将 minSdkVersion 设置为 21 而不是 14(目标和编译 sdk 版本均为 28)

这是我的依赖项(以防其中一些引起某种冲突):

implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

implementation 'androidx.cardview:cardview:1.0.0'

implementation 'androidx.legacy:legacy-support-v4:1.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'

//Room Persistance Library
def room_version = "2.1.0"
implementation "android.arch.persistence.room:runtime:$room_version"
annotationProcessor "android.arch.persistence.room:compiler:$room_version"
//Lifecycle Libraries from the Android Architecture Components
def lifecyle_version = " 2.1.0"
implementation "android.arch.lifecycle:extensions:$lifecyle_version"
annotationProcessor "android.arch.lifecycle:compiler:$room_version"

//External Libraries:
implementation 'com.github.HITGIF:TextFieldBoxes:1.4.4'
implementation "com.google.android.material:material:1.0.0"

这是我在该 Activity 中使用的样式:

<style name="ThemeNewRoutine" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

这是 list 文件中的 Activity 元素:

<activity
android:name=".Views.NewRoutine.NewRoutineActivity"
android:theme="@style/ThemeNewRoutine">

</activity>

为什么 com.google.android.material.button.MaterialButton 工作得很好,但 com.google.android.material.button.MaterialButtonToggleGroup 却不行。

此外,我发现当我在 style.xml 文件中使用它们时,以下属性也无法解析(即使父级是 Theme.MaterialComponents.Light):

  • colorPrimaryVariant
  • 主色
  • colorSecondaryVariant
  • colorOnSecondary
  • 颜色错误
  • 颜色表面
  • 表面颜色
  • 背景色

我不知道这是否会引起任何冲突,但我的 Activity 扩展了 AppCompatActivity:

public class NewRoutineActivity extends AppCompatActivity

最佳答案

我在我的应用程序中遇到了同样的问题,最终可以通过将 Material 库更新到最新版本“1.2.0-alpha02”来解决它。

不幸的是,我不知道为什么它不能与 v1.0.0 一起使用,因为有一些示例可以与此版本一起使用。

实现 'com.google.android.material:material:1.2.0-alpha02'

关于java - 尽管我可以使用 MaterialButton,但无法使用 MaterialButtonToggleGroup?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58208871/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com