首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何突出显示按钮?

如何突出显示按钮?
EN

Stack Overflow用户
提问于 2010-11-09 16:22:14
回答 4查看 35.4K关注 0票数 17

我将一个图像设置为Button backgroud,但当单击它时,Button没有高亮显示。有没有办法解决这个问题。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-09 16:59:12

为了让您找到正确的资源,这里是StateList Drawable的文档。您只需在res/drawable子目录中创建并定义它,并将其设置为按钮背景即可。

票数 11
EN

Stack Overflow用户

发布于 2010-11-09 17:55:55

如果您正在使用

代码语言:javascript
复制
<Button 
  ------------------
android:background="@drawable/youimage"
>

然后,更好的方法是声明new,一个新的xml。使用该图像,您可以为每个event state指定图像。正如屋大维所说

您可以将此xml设置为您的背景

如果您的xml是'res/drawable/abc.xml‘,则将背景设置为

代码语言:javascript
复制
android:background="@drawable/abc"

您也可以使用ImageButton

代码语言:javascript
复制
<ImageButton
----------------------
android:src="@drawable/youimage" 
 />

ImageButton的好处是,不需要不同的图像来突出显示。

票数 4
EN

Stack Overflow用户

发布于 2012-10-22 20:58:44

尝试这样做可以获得穷人的高光效果,而不需要制作多个图像副本。将alpha值0.8设置为所需的值:

代码语言:javascript
复制
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ImageButton;

public class EAImageButton extends ImageButton {

    public EAImageButton(Context context) {
        super(context);
        // TODO Auto-generated constructor stub

    }
    public EAImageButton(Context context, AttributeSet attrs){
        super(context,attrs);
    }
    public EAImageButton(Context context, AttributeSet attrs, int defStyle){
        super(context,attrs,defStyle);
    }
    public void setImageResource (int resId){
        super.setImageResource(resId);
    }
    @Override
    public boolean onTouchEvent(MotionEvent e){
        if(e.getAction() == MotionEvent.ACTION_DOWN){
            this.setAlpha((int)( 0.8 * 255));
        }else if(e.getAction() == MotionEvent.ACTION_UP){
            this.setAlpha((int)( 1.0 * 255));
        }

        return super.onTouchEvent(e);

    }

}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4131656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档