Android在这张图片的顶部画一幅画(动态)

时间:2012-07-25 16:27:05

标签: android dynamic view imageview repaint

我有ImageView的RelativeLayout。

我想点击图片并在顶部添加相同的图片。它必须是动态的,而不需要调用onCreate方法。它是红色圆圈(透明10% - * .png)

像这样:

http://i.stack.imgur.com/jGOhn.png

如何做到最好?

3 个答案:

答案 0 :(得分:1)

每次只增加原始图片的alpha值。

Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.my_picture);       
Paint paint = new Paint();
paint.setAlpha(CURRENT_VALUE);
canvas.drawBitmap(botmap, 0, 0, paint);

或直接使用ImageView

ImageView myImageView = new ImageView(this);
myImageView.setAlpha(xxx);

答案 1 :(得分:0)

您需要多少次这样做?根据您的需要,有几种方法。首先,如果你只需要做一次。将图像放在布局中第一个图像的顶部,但将其可见性设置为不可见。然后,当您单击图像时,将可见性更改为可见。

如果您需要反复进行,第二种方法是将图像视图放在单独的布局中,在第一张图像的主要布局中使用,然后在代码中使用layoutinflater加载图像视图。

在剩下的信息之后,我将评论移到了这里: 只需增加图像的alpha值即可。

答案 2 :(得分:0)

public class Test extends Activity {


RelativeLayout relativeLayout;

 ImageView imageView1;


@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);

    setContentView(R.layout.text);

    relativeLayout=(RelativeLayout)findViewById(R.id.relativeLayout);



    imageView=(ImageView)findViewById(R.id.imageView);

    imageView.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            imageView1=new ImageView(Test.this);

            imageView1.setLayoutParams(imageView.getLayoutParams());



            //imageView1=imageView;

            imageView.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub



                }
            });

            imageView1.setBackgroundResource(R.drawable.arrow1);
            relativeLayout.addView(imageView1);
            Toast.makeText(Test.this, "NEW IMAGE", 1).show();
            Toast.makeText(Test.this, "OLD IMAGE", 1).show();

            imageView.setVisibility(View.GONE);

            imageView=null;


        }
    } 
    );

XML布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:background="@drawable/aboutus_h" />

</RelativeLayout>

这将帮助您完成工作。