Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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 安卓Drag&;使用XML布局删除_Android_Drag And Drop_Xml Layout - Fatal编程技术网

Android 安卓Drag&;使用XML布局删除

Android 安卓Drag&;使用XML布局删除,android,drag-and-drop,xml-layout,Android,Drag And Drop,Xml Layout,其想法是创建一个带有两个可拖动的“按钮”的界面 我不想使用Canvas(内存中的位图问题和重绘所有内容等),所以我决定使用带有ImageView的XML布局作为按钮 一个按钮是中央垂直左,第二个按钮是中央按钮(例如)。第一个按钮应该可以正常工作,但第二个按钮的两侧(左侧和右侧)都有奇怪的边距,不能拖动按钮。我还检查了其他位置: 左上角-正确 左下角-只能在x轴上移动 上/下/右中-只能在y轴上移动 当然,具有这些属性的任何按钮的情况都是相同的,不仅仅是“第二个”。每个按钮的代码都是相同的。 这真

其想法是创建一个带有两个可拖动的“按钮”的界面

我不想使用Canvas(内存中的位图问题和重绘所有内容等),所以我决定使用带有ImageView的XML布局作为按钮

一个按钮是中央垂直左,第二个按钮是中央按钮(例如)。第一个按钮应该可以正常工作,但第二个按钮的两侧(左侧和右侧)都有奇怪的边距,不能拖动按钮。我还检查了其他位置:

  • 左上角-正确
  • 左下角-只能在x轴上移动
  • 上/下/右中-只能在y轴上移动
  • 当然,具有这些属性的任何按钮的情况都是相同的,不仅仅是“第二个”。每个按钮的代码都是相同的。 这真的很奇怪,但我想这是XML布局的问题:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="left"
            android:gravity="center_vertical|left" >
            <ImageView
                android:id="@+id/leftChar"
                android:src="@drawable/ukreska"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center">
    
            <ImageView
                android:id="@+id/rightChar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/uotwarte" />
        </LinearLayout>
    </RelativeLayout>
    
    使用event.getX()和event.getY()计算位置

    Android SDK 2.2的版本。我已经在模拟器和手机上进行了检查-结果相同


    你知道吗?提前感谢:)

    发现了错误。如果有人有同样的问题:

    使用XML布局和拖放时,请确保设置了正确的XMLgravity属性。我完全删除了它,并决定在活动开始时设置边距

    干杯

    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(new ViewGroup.MarginLayoutParams(
                LinearLayout.LayoutParams.WRAP_CONTENT,
                LinearLayout.LayoutParams.WRAP_CONTENT));
    lp.setMargins(X, Y, 0, 0);
    img.setLayoutParams(lp);