我是一个新手,现在已经为此工作了几天,但没有任何成功。有人的帮助将不胜感激。
我有两个 ImageView,在 Activity 中一个在另一个之后。我想让第一个(顶部的那个)不可见或透明,所以我可以在我的代码内部使用它。第二个(底部的那个)应该保持可见,以便用户可以与之交互。我尝试先将画布设置为透明,然后设置 TOP ImageVIew,这会导致屏幕显示白色,而不是在后面显示 ImageView(底部的)。有人可以请解释一下为什么会这样,并建议我用更好的方法来实现我的目的吗?提前致谢。
这是我的 .java 代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ImageView imageView = (ImageView) findViewById(R.id.imageView1);
imageView.setVisibility(View.INVISIBLE);
imageView.setOnTouchListener(new ImageView.OnTouchListener(){
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
Drawable imgDrawable = ((ImageView)imageView).getDrawable();
Bitmap mutableBitmap = Bitmap.createBitmap(imageView.getWidth(), imageView.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(mutableBitmap);
imgDrawable.draw(canvas);
int pixel = mutableBitmap.getPixel((int)event.getX(), (int)event.getY());
Log.i("PIXEL COLOR", ""+pixel);
int alpha = Color.alpha(pixel);
int red = Color.red(pixel);
int blue = Color.blue(pixel);
int green = Color.green(pixel);
String color = String.format("#%02X%02X%02X%02X", alpha, red, green, blue);
Log.i("RGB", color);
float[] hsv = new float[3];
Color.RGBToHSV(red, green, blue, hsv);
Log.i("HSV_H", "Hue=" + hsv[0]);
Log.i("HSV_H", "Saturation=" + hsv[1]);
Log.i("HSV_H", "Value=" + hsv[2]);
}
return true;
}
});
}
}
这是我的 .xml 代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="fitXY"
android:src="@drawable/lapices" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="fitXY"
android:src="@drawable/lapices" />
</LinearLayout>