@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; } }); }
@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()); }