アルファベットを上に、ランダムな画像を下に置く子供向けゲームを作成しています。リンゴなどの画像を「a」の文字にドラッグすると、その権利を示すポップアップが表示されます。このアイデアの進め方を教えてくれる人はいますか?
1 に答える
2
あなたが求めているのは次のとおりだと思います:
- レイアウト内のドラッグ可能なビュー
- 衝突アルゴリズム
- QuickAction ダイアログまたは非表示ダイアログ (ポップアップ用)
1.
public void setDraggable(final View view)
{
final LayoutParams lp1 ;
lp1 = (LayoutParams) view.getLayoutParams();
final int width = getWindowManager().getDefaultDisplay().getWidth();
final int height = getWindowManager().getDefaultDisplay().getHeight();
view.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
view.bringToFront();
switch(event.getAction())
{
case(MotionEvent.ACTION_DOWN):
{
break;
}
case(MotionEvent.ACTION_MOVE):
{
if((event.getRawX()+(view.getWidth()/2))<width&&((event.getRawX()+(view.getWidth()/2)) > view.getWidth()))
lp1.leftMargin = (int) event.getRawX() - (view.getWidth()/2);
if((event.getRawY()-view.getHeight())<height&&(event.getRawY()-view.getHeight())>0)
lp1.topMargin = (int) event.getRawY() - view.getHeight();
view.setLayoutParams(lp1);
break;
}
case(MotionEvent.ACTION_UP):
{
}
}
return true;
}
});
}
基本的には、ビューの余白を変更して、動いているように見せます。ここでは相対レイアウトを使用します
2.) ここでヒントをお伝えします。アプリ内のすべてのビュー/画像は長方形なので、ビューのすべての側面 (ピクセル単位) を取得してから if-else ステートメントを使用します。
3.) http://www.londatiga.net/it/how-to-create-quickaction-dialog-in-android/ または、単に setVisibility を使用できます
于 2012-10-14T16:08:38.397 に答える