2012-07-25 93 views
1

我有RelativeLayout与ImageView。Android在这张图片的顶部绘制图片(动态)

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

像这样:

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

如何最好地做到这一点?

+0

如果您在触摸屏幕时需要它。将它添加到onTouchEvent()。有很多事情可以使用。 – Doomsknight 2012-07-25 16:37:17

回答

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); 

或direcly与ImageView的

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

增加100%的可见图像alpha?我不知道该怎么做,你能告诉吗? – Val 2012-07-25 16:41:26

+0

好的,我会试试。 w8分钟。 – Val 2012-07-25 16:42:57

0

你需要多少次这样做?根据您的需求有几种方法。首先,如果你只需要做一次。将图片置于布局中第一张图片的顶部,但将其可见性设置为隐藏。然后,当你点击图像时,将可见性改为可见。

第二种方法,如果您需要重复执行操作,则将图像视图放置在单独的布局中,在主要布局中用于第一个图像,然后使用代码中的layoutinflater加载imageview。

在您的其他信息之后,我将我的评论移至此处: 只需增加图像的Alpha值即可。

+0

我需要这样做最多100次。该圈子将有1%的知名度。每次点击添加叠加图像并将每个%添加到图像的可见性。 – Val 2012-07-25 16:36:01

+2

为什么你要加载多次呢?您应该修改图像的alpha值,以便在每次点击时增加它。 – Kaediil 2012-07-25 16:37:03

+0

我会尽力做到这一点。 – Val 2012-07-25 16:42:38

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> 

这将帮助您完成您的工作。