Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使布局在单击时透明_Android_Android Layout - Fatal编程技术网

Android 如何使布局在单击时透明

Android 如何使布局在单击时透明,android,android-layout,Android,Android Layout,我有两个布局和一个图像视图。父布局linearLayout1具有图像背景,其子布局relativeLayout1具有暗背景。所以当我在屏幕上移动imageView时,它会显示一个线性布局1图像的选择性区域。我应用了触摸运动,但不知道如何显示选择区域。代码在这里 public class MainActivity extends Activity { // RelativeLayout viewRelative; ImageButton imgBtnTarget; Animation a

我有两个布局和一个图像视图。父布局linearLayout1具有图像背景,其子布局relativeLayout1具有暗背景。所以当我在屏幕上移动imageView时,它会显示一个线性布局1图像的选择性区域。我应用了触摸运动,但不知道如何显示选择区域。代码在这里

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