布局里之前用了button,现在为了美观,我改用了RelativeLayout~问题在后台里如何代替?.用button时的代码是:public class ButtonActivity extends Activity {

private Button button01;
private Button button02,myMap,mRouteBtn,mBusBtn,mPoiBtn;
private boolean exit = false;

public static final int OPEN_PROGRESS = 1;
public static final int CLOSE_PROGRESS = 0;
Timer timer = new Timer();

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.xinxing_activity);
        Log.i("activity", "ButtonActivity.oncreate*************");
       
        button01=(Button) findViewById(R.id.button_1);
        button02=(Button) findViewById(R.id.button_2);
        myMap = (Button) findViewById(R.id.MapBtn);
        mRouteBtn = (Button)findViewById(R.id.RouteBtn);
        mBusBtn = (Button)findViewById(R.id.BusBtn);
        mPoiBtn = (Button)findViewById(R.id.PoiBtn);
        
        
      //星座监听事件
        button01.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent it = new Intent();
it.setClass(ButtonActivity.this, xingzuoActivity.class);
startActivity(it);

}
});
        
   
       //心里测试监听事件
        button02.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent it = new Intent();
it.setClass(ButtonActivity.this, xinliceshiActivity.class);
startActivity(it);

}
});
        myMap.setOnClickListener( new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setClass(getApplication(), LocationOverlayDemo.class);
startActivity(intent);
}
});
     mRouteBtn.setOnClickListener( new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setClass(getApplication(), RoutePlanDemo.class);
startActivity(intent);
}
});

mBusBtn.setOnClickListener( new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setClass(getApplication(), BusLineSearchDemo.class);
startActivity(intent);
}
});

mPoiBtn.setOnClickListener( new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setClass(getApplication(), PoiSearchDemo.class);
startActivity(intent);
}
});
    }
@Override
protected void onResume() {
Log.i("activity", "ButtonActivity.onResume*************");
super.onResume();
}
protected void onRestart() {
Log.i("activity", "ButtonActivity.onRestart*************");
super.onRestart();
}
@Override
protected void onStart() {
Log.i("activity", "ButtonActivity.onStart*************");
super.onStart();
}
//监听手机上的返回键
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if( keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){
if(exit == false){
exit = true;
ToastUtil.show(this, "再次点击将退出");

TimerTask task = null;
task = new TimerTask() {

@Override
public void run() {
exit = false;
}
};
timer.schedule(task, 2000);
return true;
}else{
System.exit(0);
}
}
return false;
}
}
现在是如何把button换成RelativeLayout???

解决方案 »

  1.   

    用Button也可以美观啊,何必非要该成RelativeLayout。
    楼主可以搜索一下android 自定义Button
      

  2.   

    button的特点是什么?可以显示字,大小好看对吧,你把每个RelativeLayout 的大小设定好,然后在每个RelativeLayout里面加上TextView 来显示字,就可以了。
      

  3.   

    问题是RelativeLayout 的点击~我不会
      

  4.   


    RelativeLayout 继承自 View,有 click 事件的
      

  5.   

    RelativeLayout对像也有setOnClickListener
      

  6.   

    setOnClickListener 是View.OnClickListener 只要是组件就有点击事件,RelativeLayout当然有,但是要注意的是,RelativeLayout的上面不要有组件,否则点击是不顶用的,调试的时候可以给RelativeLayout设置背景,这样就方便调试,也能保证不会被其他组件压住