ImageViewを備えたRelativeLayoutがあります。
写真をクリックして、同じ写真を上に追加したいと思います。onCreateメソッドを呼び出さずに動的に行う必要があります。赤い丸です(透明10%-*。png)
このような:
これを行うにはどうすればよいですか?
毎回元の画像のアルファ値を上げるだけです。
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);
これを何回行う必要がありますか?ニーズに応じて、いくつかの方法があります。まず、一度だけ行う必要がある場合。レイアウトの最初の画像の上に画像を配置しますが、その可視性を非表示に設定します。次に、画像をクリックすると、可視性が表示に変更されます。
繰り返し行う必要がある場合の2番目の方法は、画像ビューを別のレイアウトに配置し、最初の画像のプライマリレイアウトで使用してから、コードのlayoutinflaterを使用して画像ビューを読み込むことです。
残りの情報の後、コメントをここに移動しました。画像のアルファ値を増やすだけです。
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>
これはあなたがあなたの仕事を成し遂げるのを助けるでしょう。