- 2
- 0
- 约3.89千字
- 约 9页
- 2019-09-30 发布于天津
- 举报
動態版面 建國科技大學 資管系 饒瑞佶 2017/7 使用OO動態生成版面 DynamicLayout.java 加入implements OnGestureListener OnClickListener DynamicLayout.java private GestureDetector detector; //宣告GestureDetector類物件detector private ViewFlipper flipper; //宣告ViewFlipper物件 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); //取消原版面 flipper = new ViewFlipper(this); //建立ViewFlipper物件 // 在ViewFlipper物件中加入版面 flipper.addView(addObj(1)); //版面1 flipper.addView(addObj(2)); //版面2 flipper.addView(addObj(3)); //版面3 setContentView(flipper); //設定顯示畫面1 // 加入監聽物件 detector = new GestureDetector(this); } // 設定版面 public View addObj(int i){ LinearLayout output = new LinearLayout(this); switch (i) { case 1: //版面1 Button btn = new Button(this); btn.setId(1); btn.setText(我是版面1); btn.setOnClickListener(this); output.addView(btn); break; case 2: //版面2 //建立一個ImageView ImageView imgv= new ImageView(this); imgv.setBackgroundResource(R.drawable.ic_launcher); //設定圖示 //設定ImageView的格式 RelativeLayout.LayoutParams forimgv = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); //將ImageView加入LinearLayout output.addView(imgv,forimgv); break; case 3: //版面3 //建立一個TextView TextView tv = new TextView(this); tv.setText(我是版面3); tv.setTextColor(Color.BLUE); output.addView(tv); break; } return output; } //處理按鈕事件 public void onClick(View v) { switch(v.getId()){ case 1: Toast.makeText(MainActivity.this, 按鈕1, Toast.LENGTH_LONG).show(); break; case 2: Toast.makeText(MainActivity.this, 按鈕2, Toast.LENGTH_LONG).show(); break; default: break; } } //處理滑動事件 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) { if (e1.getX(
原创力文档

文档评论(0)