0
這個想法是創建一個接口與兩個「按鈕」是可拖動。安卓拖放與XML佈局
我不想使用Canvas(內存中的位圖問題和重繪所有內容等),所以我決定使用帶有ImageView的XML Layout作爲按鈕。
一鍵是中央 _vertical | 左,第二個中央(例如)。第一個工作正常,因爲它應該,但第二個有雙方(左側和右側)奇怪的利潤和按鈕不能拖動。我還檢查其他位置:
- 左上角 - 正確
- 左下角 - 沿x軸移動唯一可能的...
- 上/下/右中 - 在y軸移動唯一可能axis
當然,對於任何具有這些屬性的按鈕來說,情況都是一樣的,不僅僅是「第二個」。代碼是每個按鈕都相同。 這真的很奇怪,但我想這是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>
按鈕的位置設置與佈局保證金:
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);
位置與事件計算.getX()和event.getY()
Android SDK 2.2的版本。我檢查了模擬器和電話 - 結果相同。
你有什麼想法嗎?在此先感謝:)