編輯:初級開發
之前已經寫過通過重繪整個背景的方式,實現物體移動。今天要講的是,
如何通過移動widget,vIEw等控件,實現部分重繪。結合之前發Droiddraw工具,使用AbsoluteLayout,可以隨意放置控件在任何位置。
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;//臨時保存,選擇的BUTTON
int x;
int y;
int flag;//用於標志選擇哪個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);//設置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);
}
}
在android開發中ListView是比較常用的組件,它以列表的形式展示具體內容,並且能夠根據數據的長度自適應顯示。抽空把對ListVIEw的使用做了整理,並寫了個小
在游戲開發中,往往要提供選關的頁面,選擇關卡可以簡單地使用listVIEw,如果想效果好一點,可以選擇 用gallery控件。Gallery控件的使用在api demo
移動開發大潮興起於蘋果公司的iPhone,移動浏覽器也隨之得到迅猛發展,特別是對Html5、CSS3以及CSS動畫的支持。之後Google公司推出android更是開啟
這段時間都在看Java,android放了好久,現在慢慢再看先上結果圖:這次首先要實現上面的效果,使用的是ListActivity和SimpleAdapter適配器首先