相关疑难解决方法(0)

Android:如何以编程方式创建StateListDrawable

我有一个GridView来显示一些对象,并且在视觉上每个对象都有一个图像图标和一个文本标签.我还希望图像图标在单击时具有一些"推动和弹出"效果,也就是说,按下时,图像将向右下方移动一小段距离,并在释放后返回其原始位置.

对象(及其图像图标)来自某些动态源.我的直觉是为每个项创建一个StateListDrawable,它有两种状态:是否按下.对于GridView项目视图,我会使用一个Button,它可以容纳Drawable和一个标签,完全满足我的要求.

我定义了一个item类来包装原始对象:

public class GridItem<T> {

    public static final int ICON_OFFSET = 4;

    private StateListDrawable mIcon;
    private String mLabel;
    private T mObject;

    public Drawable getIcon() {
        return mIcon;
    }

    public void setIcon(Drawable d) {
        if (null == d) {
            mIcon = null;
        }else if(d instanceof StateListDrawable) {
            mIcon = (StateListDrawable) d;
        } else {
            InsetDrawable d1 = new InsetDrawable(d, 0, 0, ICON_OFFSET, ICON_OFFSET);
            InsetDrawable d2 = new InsetDrawable(d, ICON_OFFSET, ICON_OFFSET, 0, 0);
            mIcon = new StateListDrawable();
            mIcon.addState(new int[] { …
Run Code Online (Sandbox Code Playgroud)

android statelist

36
推荐指数
2
解决办法
3万
查看次数

如何围绕位图制作发光效果?

以下代码是我到目前为止所得到的.但是,有两个问题:

  1. 我想要内部和外部发光效果,看起来类似于Photoshop的混合选项.但我只设法制作外部发光,如果我设置BlurMaskFilter.Blur.INNER或其他值,整个图像被阻挡,而不是只是边缘.

  2. 尽管我将" FF " 设置为alpha值,但发光颜色仍然很暗.

    Bitmap alpha = origin.extractAlpha();
    BlurMaskFilter blurMaskFilter = new BlurMaskFilter(5, BlurMaskFilter.Blur.OUTER);
    
    Paint paint = new Paint();
    paint.setMaskFilter(blurMaskFilter);
    paint.setColor(0xffffffff);
    
    Canvas canvas = new Canvas(origin);
    canvas.drawBitmap(alpha, 0, 0, paint);
    
    return origin;
    
    Run Code Online (Sandbox Code Playgroud)

替代文字

graphics android bitmap glow

25
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×2

bitmap ×1

glow ×1

graphics ×1

statelist ×1