我试图了解Android中的颜色是如何工作的.我把这个颜色设置为我的背景LinearLayout,然后我得到一个透明的背景灰色:
<gradient android:startColor="#b4555555" android:endColor="#b4555555"
android:angle="270.0" />
Run Code Online (Sandbox Code Playgroud)
如果我删除最后两个字符(55),我会得到一个纯色,失去透明度.我试图找到一个页面,我可以看到有关此的一些解释,但我找不到它.
我有一个按钮,如下所示.当我想禁用它时my_btn.setEnabled(false),我会使用它,但我也想将它变灰.我怎样才能做到这一点?
谢谢
<Button android:id="@+id/buy_btn" style="@style/srp_button" />
Run Code Online (Sandbox Code Playgroud)
风格/ srp_button
<style name="srp_button" parent="@android:style/Widget.Button">
<item name="android:background">@drawable/btn_default</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#ffffff</item>
<item name="android:textSize">14sp</item>
<item name="android:typeface">serif</item>
<item name="android:paddingLeft">30dp</item>
<item name="android:paddingRight">30dp</item>
<item name="android:paddingTop">5dp</item>
<item name="android:paddingBottom">5dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
绘制/ btn_default.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/pink" />
<corners android:radius="6dp" />
</shape>
Run Code Online (Sandbox Code Playgroud) 我觉得这是一个愚蠢的问题,但我仍然在这里.我有一个图像按钮,我希望每次点击它都能更改它的图像.API似乎表示,最好的方法是在包含选择器和值的drawable文件夹中创建xml资源.然而,当我去创建一个新的android xml资源时,drawables没有选项.我错过了什么?
我想有一个ImageButton是最初有一个灰色的效果就可以了&轮流到其选择时原来的颜色。我正在努力实现类似的目标
. 我知道这可以在 CSS 中完成,但想知道是否存在与它等效的任何 Android 属性/函数。
我在这里读了一篇文章,似乎暗示我必须维护同一图像的不同灰色副本才能实现这一目标。但是,如果我有 100 个以上的 ImageButton,那么维护同一个 Image 的 2 个副本会消耗大量内存。
与常规 Button 不同,ImageButton 或具有图像背景的 Button 在禁用时不会变灰。您实际上必须使用另一个图像或以它看起来变灰的方式对其进行处理。
那么真的没有办法在 Android 中实现在 CSS 中使用灰度可以实现的目标吗?
感谢您的时间!!