Android 如何使布局在单击时透明
我有两个布局和一个图像视图。父布局linearLayout1具有图像背景,其子布局relativeLayout1具有暗背景。所以当我在屏幕上移动imageView时,它会显示一个线性布局1图像的选择性区域。我应用了触摸运动,但不知道如何显示选择区域。代码在这里Android 如何使布局在单击时透明,android,android-layout,Android,Android Layout,我有两个布局和一个图像视图。父布局linearLayout1具有图像背景,其子布局relativeLayout1具有暗背景。所以当我在屏幕上移动imageView时,它会显示一个线性布局1图像的选择性区域。我应用了触摸运动,但不知道如何显示选择区域。代码在这里 public class MainActivity extends Activity { // RelativeLayout viewRelative; ImageButton imgBtnTarget; Animation a
public class MainActivity extends Activity {
// RelativeLayout viewRelative;
ImageButton imgBtnTarget;
Animation aniRotate, aniZoom;
PointF downPoint = new PointF();// Record Mouse Position When Pressed Down
PointF strtPointImg = new PointF(); // Record Start Position of 'img'
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imgBtnTarget = (ImageButton) findViewById(R.id.imageButtontTarget);
imgBtnTarget.setOnTouchListener( new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// for moving image
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
PointF mv = new PointF(event.getX() - downPoint.x, event
.getY() - downPoint.y);
imgBtnTarget.setX((int) (strtPointImg.x + mv.x));
imgBtnTarget.setY((int) (strtPointImg.y + mv.y));
strtPointImg = new PointF(imgBtnTarget.getX(), imgBtnTarget.getY());
break;
}
return false;
}
});
}
}
这里是xml资源
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/back" >
<RelativeLayout
android:id="@+id/relativeViewBlack"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black" >
<ImageButton
android:id="@+id/imageButtontTarget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="@android:color/transparent"
android:scaleType="fitCenter"
android:src="@drawable/target" />
</RelativeLayout>
在Java代码中:
LinearLayout ll = (LinearLayout) findViewById(R.id.your_ll_id);
ll.setAlpha(TRANSPARENT_VALUE);
或:
如果希望从一开始就透明,请将所有内容添加到XML布局中:
android:background="#00ffffff"
编辑:
欢迎您的回答,但我的要求是,我想让imageView移动的位置透明。你能推荐别的吗
android:background="#00ffffff"
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
v.setAlpha(0.5f);
break;
case MotionEvent.ACTION_UP:
v.setAlpha(1.0f);
break;
case MotionEvent.ACTION_MOVE:
//your code...
break;
}
return true;
}