最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android基于widget組件實(shí)現(xiàn)物體移動(dòng)/控件拖動(dòng)功能示例

 更新時(shí)間:2016年10月27日 08:45:13   作者:Wallace  
這篇文章主要介紹了Android基于widget組件實(shí)現(xiàn)物體移動(dòng)/控件拖動(dòng)功能,結(jié)合實(shí)例形式分析了widget組件在桌面應(yīng)用中的事件響應(yīng)與屬性動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Android基于widget組件實(shí)現(xiàn)物體移動(dòng)/控件拖動(dòng)功能。分享給大家供大家參考,具體如下:

package com.sky;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AbsoluteLayout;
import android.widget.Button;
@SuppressWarnings("deprecation")
public class AbosoluteMove extends Activity implements OnClickListener
{
 /** Called when the activity is first created. */
 public Button button1;
 public Button button2;
 public Button button3;
 public Button button4;
 Button tmp;//臨時(shí)保存,選擇的BUTTON
 int x;
 int y;
 int flag;//用于標(biāo)志選擇哪個(gè)BUTTON
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    button1=(Button) findViewById(R.id.widget27);
    button2=(Button) findViewById(R.id.widget28);
    button3=(Button) findViewById(R.id.widget29);
    button4=(Button) findViewById(R.id.widget30);
    button1.setOnClickListener(this);
    button2.setOnClickListener(this);
    button3.setOnClickListener(this);
    button4.setOnClickListener(this);
  }
 @Override
 public void onClick(View v)
 {
 // TODO Auto-generated method stub
 switch(v.getId())
 {
  case R.id.widget27:
  flag=R.id.widget27;
  setTitle("button1");
  break;
  case R.id.widget28:
  flag=R.id.widget28;
  setTitle("button2");
  break;
  case R.id.widget29:
  flag=R.id.widget29;
  setTitle("button3");
  break;
  case R.id.widget30:
  flag=R.id.widget30;
  setTitle("button4");
  break;
 }
 }
 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event)
 {
 // TODO Auto-generated method stub
 return super.onKeyDown(keyCode, event);
 }
 @Override
 public boolean onTouchEvent(MotionEvent event)
 {
 // TODO Auto-generated method stub
 x = (int) event.getX();
    y = (int) event.getY();
    tmp=(Button) findViewById(flag);//獲取所選中的BUTTON
    AbsoluteLayout.LayoutParams params1=new AbsoluteLayout.LayoutParams(50,50,x-25,y-50);
    tmp.setLayoutParams(params1);//設(shè)置BUTTON的新位置
    switch(event.getAction())
    {
      case MotionEvent.ACTION_DOWN:
       tmp.invalidate();
       tmp.setText("選中down");
        break;
      case MotionEvent.ACTION_UP:
       tmp.invalidate();
       tmp.setText("選中UP");
        break;
      case MotionEvent.ACTION_MOVE:
       tmp.invalidate();
       tmp.setText("選中move");
        break;
    }
    return super.onTouchEvent(event);
 }
}

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android基本組件用法總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

甘泉县| 四子王旗| 集安市| 中西区| 囊谦县| 垫江县| 额济纳旗| 辛集市| 金沙县| 苏尼特左旗| 皋兰县| 渝北区| 高雄市| 湖口县| 阳信县| 伊通| 黑龙江省| 长岛县| 栾城县| 嘉义县| 镇雄县| 清徐县| 阿瓦提县| 天峨县| 新巴尔虎左旗| 淳化县| 夏邑县| 财经| 吉水县| 黄陵县| 外汇| 昭通市| 且末县| 富蕴县| 玉田县| 永福县| 泌阳县| 贞丰县| 桑植县| 西畴县| 正安县|