0

Gestures を使用すると、この画像のようにドラッグできますか? つまり、目盛りとしてドラッグする必要があります。したがって、この onClickListener を使用する必要があります。実行後、最終的に表示部分で別の画面を開くことができるはずです。

手を使うときは、目盛りを付ければ、特定のメソッドを呼び出すことができるはずです。

ジェスチャを使用してコードを書きたいのですが、画像の下のように実行またはドラッグできるはずです。機能はジェスチャーでどのように機能し、どのようにコードを記述すればよいですか?

どうすればこれを行うことができますか? 誰でも私を提案できますか?これを見る

4

1 に答える 1

0

私はあなたがこの質問に沿って何かを求めていると信じています。これがprateek-rajによって提供されたソースコードです。ちなみに、提供されたサンプルのチェックマーク画像は素敵ですが、Androidは、画像がボール、チェックマーク、またはバズーカを持っているリスの画像であるかどうかを気にしないため、以下のコードが引き続き適用されます。

package com.examples.Touchmoveimage;

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout.LayoutParams;

public class Touchmoveimage extends Activity {

    int windowwidth;
    int windowheight;

    private LayoutParams layoutParams ;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    windowwidth = getWindowManager().getDefaultDisplay().getWidth();
    windowheight = getWindowManager().getDefaultDisplay().getHeight();
    final ImageView balls = (ImageView)findViewById(R.id.ball);

    balls.setOnTouchListener(new View.OnTouchListener() {

                    @Override
                    public boolean onTouch(View v, MotionEvent event) {
                        LayoutParams layoutParams = (LayoutParams) balls.getLayoutParams();
                        switch(event.getAction())
                        {
                        case MotionEvent.ACTION_DOWN:   
                                                        break;
                        case MotionEvent.ACTION_MOVE:
                                                        int x_cord = (int)event.getRawX();
                                                        int y_cord = (int)event.getRawY();

                                                        if(x_cord>windowwidth){x_cord=windowwidth;}
                                                        if(y_cord>windowheight){y_cord=windowheight;}

                                                        layoutParams.leftMargin = x_cord -25;
                                                        layoutParams.topMargin = y_cord - 75;

                                                        balls.setLayoutParams(layoutParams);
                                                        break;
                        default:
                                                        break;
                        }
                            return true;
                    }
            });
}
}

それはあなたの質問のほとんどに対処しますが、すべてではありません。あなたはまた尋ねました、

実行後、最終的に表示部分で別の画面を開くことができるはずです。

答えは、おそらくIntentオブジェクトの作成(コンストラクターで定義された新しいアクティビティを使用して開始することです。ここにこのテーマに関する優れたチュートリアルがあります。その中心(アクティビティの切り替え)は次のようになります。

Intent k = new Intent("com.example.ActivityYouWantToGoTo");
startActivity(k);

新しいアクティビティの作成に関連するすべての手順を実行する必要があります。(たとえば、マニフェストを更新することを忘れないでください。)コードで(a)チェックボックスのドラッグと(b)新しいアクティビティへの切り替えの両方を実行するには、上記の概念を組み合わせる必要があります。オブジェクトをドラッグしたり、アクティビティを切り替えたりする状況(たとえば、一度ドラッグした後、特定の場所にドラッグしたときなど)については教えてくれませんでしたが、これらの条件を定義して、次に、それらが満たされたときに新しいアクティビティを呼び出します。

于 2013-01-17T19:45:19.423 に答える