我在我的项目中使用 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
我正在开发一个带有注释处理的代码生成器,并将逻辑分为两个步骤:
注解处理APITypeMirror在大多数情况下为我们提供了。从我在网上看到的情况来看,TypeElement在数据模型中使用似乎是一个很好的实践(可以从 获得TypeMirror)。
然而,JavaPoet 在大多数情况下TypeMirror直接接受 s,并且将它们转换为TypeElement数据模型似乎没有必要。
数据模型与另一种相比是否有优势?