@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.drag_layout);

    TextView text = (TextView) findViewById(R.id.drag_text);
    DraggableDot dot = (DraggableDot) findViewById(R.id.drag_dot_1);
    dot.setReportView(text);
    dot = (DraggableDot) findViewById(R.id.drag_dot_2);
    dot.setReportView(text);
    dot = (DraggableDot) findViewById(R.id.drag_dot_3);
    dot.setReportView(text);

    mHiddenDot = (DraggableDot) findViewById(R.id.drag_dot_hidden);
    mHiddenDot.setReportView(text);

    mResultText = (TextView) findViewById(R.id.drag_result_text);
    mResultText.setOnDragListener(
        new View.OnDragListener() {
          public boolean onDrag(View v, DragEvent event) {
            final int action = event.getAction();
            switch (action) {
                // 开始抓取
              case DragEvent.ACTION_DRAG_STARTED:
                {
                  // 当”在空中的时候“调出第四个可抓取的点,注意、它是恰当通知关于持续拖拽的,同时亮起来,表示它能处理当前内容
                  // Bring up a fourth draggable dot on the fly. Note that it is properly notified
                  // about the ongoing drag, and lights up
                  // to indicate that it can handle the current content.
                  mHiddenDot.setVisibility(View.VISIBLE);
                }
                break;
                // 抓取结束
              case DragEvent.ACTION_DRAG_ENDED:
                {
                  // Hide the surprise again
                  mHiddenDot.setVisibility(View.INVISIBLE);
                  // Report the drop/no-drop result to the user
                  // getResult()只返回动作类型是:ACTION_DRAG_ENDED
                  // 返回值取决于用户释放了拖动阴影后发生了什么
                  // 如果用户在一个能够接收一个drop时间的View上释放drop的shadow,系统会发送一个Action_Drop的事件给目标View对象的Drop时间监听器,
                  // 若这个监听器返回true/false,那getResult()也会返回true/false
                  // 注意: 如果没有发送ACTION_DROP,getResult()也会返回false,例如:使用者将drag的阴影释放到app的区域之外,
                  // 这种情况下系统发出ACTION_DRAG_ENDED(抓取结束)为当前操作,但并没有发送ACTION_DROP(丢)

                  // 丢成功了,drag event listener return
                  // true,则返回true。没有丢或者丢失败了,返回false(包括,系统没有抓的开始和抓取结束的相应,或者)
                  final boolean dropped = event.getResult();
                  mResultText.setText(dropped ? "Dropped!" : "No drop");
                }
                break;
            }
            return false;
          }
        });
  }
Exemple #2
0
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.choose_stats);

    Intent preIntent = getIntent();
    Bundle bundle = preIntent.getExtras();

    myCharacter = (String[]) bundle.get("myCharacter");

    chooseStatsText = (TextView) findViewById(R.id.chooseStatsText);

    reset = (Button) findViewById(R.id.resetButton);
    reset.setOnClickListener(new resetButtonListener());

    proceed = (Button) findViewById(R.id.statsProceedButton);
    proceed.setEnabled(false);
    proceed.setOnClickListener(new proceedButtonListener());

    raceButton = (ImageButton) findViewById(R.id.raceButton);
    raceButton.setImageResource(R.drawable.green_circle);
    raceButton.setOnClickListener(new raceButtonListener());

    classButton = (ImageButton) findViewById(R.id.classButton);
    classButton.setImageResource(R.drawable.green_circle);
    classButton.setOnClickListener(new classButtonListener());

    bgButton = (ImageButton) findViewById(R.id.backgroundButton);
    bgButton.setImageResource(R.drawable.green_circle);
    bgButton.setOnClickListener(new bgButtonListener());

    statsButton = (ImageButton) findViewById(R.id.statsButton);
    statsButton.setImageResource(R.drawable.blue_circle);

    fCharButton = (ImageButton) findViewById(R.id.finalCharacterButton);
    fCharButton.setImageResource(R.drawable.grey_circle);

    // Points: 15, 14, 13, 12, 10, 8
    point1 = (TextView) findViewById(R.id.point1);
    point1.setText("15");
    point1.setOnTouchListener(new My15TouchListener());

    point2 = (TextView) findViewById(R.id.point2);
    point2.setText("14");
    point2.setOnTouchListener(new My14TouchListener());

    point3 = (TextView) findViewById(R.id.point3);
    point3.setText("13");
    point3.setOnTouchListener(new My13TouchListener());

    point4 = (TextView) findViewById(R.id.point4);
    point4.setText("12");
    point4.setOnTouchListener(new My12TouchListener());

    point5 = (TextView) findViewById(R.id.point5);
    point5.setText("10");
    point5.setOnTouchListener(new My10TouchListener());

    point6 = (TextView) findViewById(R.id.point6);
    point6.setText("8");
    point6.setOnTouchListener(new My8TouchListener());

    strengthVal = (TextView) findViewById(R.id.strengthValue);
    strengthVal.setOnDragListener(new MyDragStrengthListener());

    conVal = (TextView) findViewById(R.id.conValue);
    conVal.setOnDragListener(new MyDragConListener());

    dexVal = (TextView) findViewById(R.id.dexValue);
    dexVal.setOnDragListener(new MyDragDexListener());

    intVal = (TextView) findViewById(R.id.intValue);
    intVal.setOnDragListener(new MyDragIntListener());

    charismaVal = (TextView) findViewById(R.id.charValue);
    charismaVal.setOnDragListener(new MyDragCharismaListener());

    wisdomVal = (TextView) findViewById(R.id.wisValue);
    wisdomVal.setOnDragListener(new MyDragWisdomListener());
  }