【发布时间】:2011-09-28 23:26:10
【问题描述】:
我写了一个简单的纸牌游戏,用户玩他的牌 在三个图像视图(卡片)之一上进行 TAP 我想增加打牌的可能性 通过拖动“表”上的 ImageView (表格是另一种布局,或者只是屏幕的另一部分)。
我尝试使用在 http://blahti.wordpress.com/2011/01/17/moving-views-part-2/ 但是由于它使用 AbsoluteLayout,它引入了很多限制 在我目前的布局上,更多需要调整,具体取决于 到应用程序运行的设备屏幕分辨率。 我想避免这种情况继续使用 -如果可能的话-RelativeLayout。 也许起点是扩展 ImageView 添加 onTouch 支持,但我无法重现 想要的效果(拖动) 任何想法或建议或示例代码? 谢谢!
只是给个想法,这是布局的草稿。 下面的 3 张卡片应该通过拖动来移动。
<?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"
>
<RelativeLayout android:id="@+id/player_cards_layout"
android:layout_width="fill_parent" android:layout_height="150dip"
android:gravity="center_horizontal"
android:background="#55335588"
android:layout_above="@+id/player_cards_layout"
>
<ImageView android:id="@+id/img_pc_card_1"
android:layout_width="100dip" android:layout_height="150dip"
android:src="@drawable/icon"
/>
</RelativeLayout>
<RelativeLayout android:id="@+id/player_cards_layout"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:gravity="center_horizontal"
android:background="#336699"
>
<ImageView android:id="@+id/img_user_card_1"
android:layout_width="100dip" android:layout_height="150dip"
android:src="@drawable/icon"
/>
<ImageView android:id="@+id/img_user_card_2"
android:layout_width="100dip" android:layout_height="150dip"
android:src="@drawable/icon"
android:layout_toRightOf="@+id/img_user_card_1"
/>
<ImageView android:id="@+id/img_user_card_3"
android:layout_width="100dip" android:layout_height="150dip"
android:src="@drawable/icon"
android:layout_toRightOf="@+id/img_user_card_2"
/>
</RelativeLayout>
</RelativeLayout>
【问题讨论】:
-
我彻底解决了改变方法的问题,并开始使用 Blahti 提供的方法。感谢他! blahti.wordpress.com/2011/01/17/moving-views-part-2
标签: android imageview drag extend touch-event