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

时间:2011-03-09 16:15:42

标签: android view visibility layer

我在xml文件中定义了一个包含几个项目的图层列表。 项目显示为o.k. 我希望每五秒钟左右一层变得不可见。

它适用于o.k.例如,对于简单的textview,而不是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(我从这里找到了它......)? 提前谢谢!

1 个答案:

答案 0 :(得分:12)

我用图层的alpha来玩。此代码将使您的图层消失:

layer.setAlpha(0);

然后你可以用:

再次显示它
layer.setAlpha(255);

希望这有帮助。