如何使LayerDrawable(层列表项)在Android上不可见?

l7mqbcuq  于 2023-06-27  发布在  Android
关注(0)|答案(2)|浏览(102)

我已经定义了一个层列表与一对夫妇的xml文件中的项目。项目显示正常。我希望每隔五秒左右就有一层隐形。
工作正常。例如,对于简单的文本视图,但不适用于LayerDrawable中的Layer

final private Runnable runnable = new Runnable() {
    public void run() {
        LayerDrawable myDrawable= (LayerDrawable)getResources().getDrawable(R.drawable.all_layers);
        Drawable layer =  myDrawable.findDrawableByLayerId(R.id.interesting_layer);
        if (layer.isVisible()==true)
        {
            layer.setVisible(false, false);
        }
        else
        {
            layer.setVisible(true, false);
        }
        TextView txt = (TextView) findViewById(R.id.txtTest);
        if (txt.getVisibility()==0)
        {
            txt.setVisibility(4);
        }
        else
        {
            txt.setVisibility(0);
        }
        handler.postDelayed(this, 5000);
    }
};

我是否尝试以错误的方式获取层的ID(我从这里找到它...)?先谢谢你了!

ddrv8njm

ddrv8njm1#

我是用图层的alpha做的。下面的代码会让你的图层消失:

layer.setAlpha(0);

然后,您可以使用以下命令再次显示它:

layer.setAlpha(255);

希望这能帮上忙。

0qx6xfy6

0qx6xfy62#

设置为透明的背景色调给了我想要的输出在我的情况下

layer.setTint(Color.TRANSPARENT);

我尝试使用isvisible()函数,但由于某种原因无法正常工作

相关问题