小编Abh*_*hek的帖子

使用 alpha 在材质按钮上设置 backgroundTint 在正常和按下状态下具有奇怪的视觉效果

我在我的项目中使用 Material Buttons 并尝试使用 alpha 值设置 backgroundTint。

<!-- background_tint.xml -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@android:color/black" android:alpha="0.60"/>
</selector>

<!-- activity_main.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.button.MaterialButton
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:text="Sign in"
        app:backgroundTint="@color/background_tint" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

然而,生成的按钮在正常状态下看起来很奇怪,按下时甚至更奇怪。
在此处输入图片说明
当我将 backgroundTint 设置为特定的灰色阴影(例如 #777777)时,我没有看到这个问题。为什么 alpha 值会发生这种情况?

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

7
推荐指数
1
解决办法
1683
查看次数

TypeElement 与 TypeMirror 作为 Java 注释处理器的数据模型

我正在开发一个带有注释处理的代码生成器,并将逻辑分为两个步骤:

  1. 分析带注释的元素并创建数据模型,以及
  2. 使用 JavaPoet 使用数据模型生成代码。

注解处理APITypeMirror在大多数情况下为我们提供了。从我在网上看到的情况来看,TypeElement在数据模型中使用似乎是一个很好的实践(可以从 获得TypeMirror)。

然而,JavaPoet 在大多数情况下TypeMirror直接接受 s,并且将它们转换为TypeElement数据模型似乎没有必要。

数据模型与另一种相比是否有优势?

java annotations annotation-processing

4
推荐指数
1
解决办法
356
查看次数