java - 如何有一个带有 backgroundTint 和圆角半径的按钮

标签 java android xml

我想要一个带有 backgroundTintcorner 半径的 button :D 这是我定义的样式:

<style xmlns:tools="http://schemas.android.com/tools" name="myButton" parent="Widget.AppCompat.Button.Colored">
    <item name="android:background">@drawable/button_light</item>
    <item  name="android:backgroundTint" tools:targetApi="lollipop">#e0e0e0</item>
</style>

@drawable/button_light代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="15dp" />
    <solid android:color="#FAFAFA" />
</shape>

然后我将 @style/myButton 应用于我想要的 button 结果是我有圆角但没有 ripple 效果(backgroundTint 确实不起作用)。 我该如何解决这个问题?

最佳答案

您可以使用图层列表来实现这一点。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item>
      <shape 
          android:shape="rectangle">
          <corners android:radius="15dp" />
          <solid android:color="#FAFAFA" />
      </shape>
   </item>
   <!-- Put any image or anything here as the drawable -->
   <item android:drawable="?attr/selectableItemBackground"/>
</layer-list>

关于java - 如何有一个带有 backgroundTint 和圆角半径的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52015066/

相关文章:

java - 如何配置 Spring 和 SLF4J 以便获得日志记录?

android - 在 viewPager android 中使用箭头进行导航?我尝试了不同的例子但没有成功

java - 如何将 cardslib 包含到我的 Android 项目中?

android - 如何为WebView android发布数据

xml - Dart:regexp解析多行xml文档

java - 排除 xpath 表达式中的子元素

java - 访问嵌入资源时出错

java - 如何在媒体播放器准备服务时添加加载对话框 (Android)

java - radio 组 setOnCheckedChangeListener

java - 更新时拥有实体实例不再引用具有级联 ="all-delete-orphan"的集合