如何变灰按钮? [英] How to grey out a button?

查看:170
本文介绍了如何变灰按钮?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经定义了如下图所示的按钮。当我想禁用它,我用 my_btn.setEnabled(假),但我也想为灰色出来。我该怎么办呢?

感谢

 <按钮机器人:ID =@ + ID / buy_btn的风格=@风格/ srp_button/>
 

风格/ srp_button

 <样式名称=srp_button父=@安卓风格/ Widget.Button>
    <项目名称=机器人:背景> @可绘制/ btn_default< /项目>
    <项目名称=机器人:layout_width> WRAP_CONTENT< /项目>
    <项目名称=机器人:layout_height> WRAP_CONTENT< /项目>
    <项目名称=机器人:文字颜色>#FFFFFF< /项目>
    <项目名称=机器人:TEXTSIZE> 14sp< /项目>
    <项目名称=机器人:字体>衬线< /项目>
    <项目名称=机器人:以下属性来> 30dp< /项目>
    <项目名称=机器人:paddingRight> 30dp< /项目>
    <项目名称=机器人:paddingTop> 5DP< /项目>
    <项目名称=机器人:paddingBottom会> 5DP< /项目>
< /风格>
 

绘制/ btn_default.xml

 < XML版本=1.0编码=UTF-8&GT?;
<形状的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android>
    [固体机器人:颜色=@色/粉红色/>
    <边角机器人:半径=6DP/>
< /形状>
 

解决方案

您必须提供3或4个国家在 btn_defaut.xml 作为一个选择。

  1. pressed状态
  2. 在默认状态
  3. 焦点状态
  4. 已启用状态(关闭状态错误指示;看评论)

您提供效果和背景进行相应的状态。

下面是详细的讨论在这里:标准的Andr​​oid按键采用不同的颜色

I have a button defined as shown below. When I want to disable it I use my_btn.setEnabled(false), but I would also like to grey it out. How can I do that?

Thanks

<Button android:id="@+id/buy_btn" style="@style/srp_button" />

style/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>

drawable/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>

解决方案

you have to provide 3 or 4 state in your btn_defaut.xml as a selector.

  1. Pressed state
  2. Default state
  3. Focus state
  4. Enabled state (Disable state with false indication; see comments)

You will provide effect and background for the states accordingly.

here is a detailed discussion here: Standard Android Button with a different color

这篇关于如何变灰按钮?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆