安卓做業3.21

  • 任務1
  • 要求:javascript

    1. 圖片隨着鼠標移動位置,並顯示位置的座標信息
         2. 當用戶單機退出按鈕時,給出提示信息:「再按一次退出程序」

——————————————————————————————html

xml文件java

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:id="@+id/activity_move_dog"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical"
   tools:context="com.example.administrator.move_dog.MoveDog"
   android:weightSum="1">

   <ImageView
       android:id="@+id/img_cat"
       android:layout_width="70dp"
       android:layout_height="67dp"
       android:layout_gravity="center_vertical"
       android:src="@drawable/abc1" />
</LinearLayout>

接下來在java中實現要求的效果,實現要求1只須要重載一個ontouchevent事件便可android

java文件代碼:
``` javascript
public class MoveDog extends AppCompatActivity {
private ImageView img_cat;ide

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_move_dog);
    img_cat = (ImageView) findViewById(R.id.img_cat);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction()==MotionEvent.ACTION_MOVE){
        float x = event.getX();
        float y = event.getY();
        String cat = "x座標:" + x + "y座標:" + y;
        Toast.makeText(this,cat,Toast.LENGTH_LONG).show();
        img_cat.setX(x - 50);
        img_cat.setY(y - 200);
    }
    return super.onTouchEvent(event);
}

```佈局

————————————————————————
在實現要求2中的效果 用了點擊主菜單中的退出菜單彈出對話框的方式ui

代碼以下:
``` javascript
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(menu.NONE,Menu.FIRST+1,1,"退出").setIcon(android.R.drawable.ic_menu_delete);
return true;
}this

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case Menu.FIRST+1:
            AlertDialog.Builder builder = new AlertDialog.Builder(MoveDog.this);
            builder.setMessage("肯定關閉程序嗎?");

            builder.setPositiveButton("肯定",new DialogInterface.OnClickListener(){
                @Override
                public void onClick(DialogInterface dialogInterface,int i) {
                    finish();
                }
            });

            builder.setNegativeButton("取消",new DialogInterface.OnClickListener(){
                @Override
                public void onClick(DialogInterface dialogInterface,int i){
                    dialogInterface.dismiss();
                }
            });

            builder.create().show();
            break;
    }
    return super.onOptionsItemSelected(item);
}

```code

實現效果:
xml


  • 任務2
  • 要求:
  • 1.使用滾動字幕顯示標題」please choose a flower you like「
  • 2.使用RadioGroupRadioButton建立兩行三列的單選按鈕
  • 3.當用戶選中一花名時,在頁面上顯示這種花的圖片

效果圖:

滾動字幕效果的實現
``` javascript

完整xml文件代碼
  ```javascript 
  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:id="@+id/activity_main"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
 android:orientation="vertical"
  tools:context="com.example.administrator.plantphoto.MainActivity"
  android:weightSum="1">
  <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textSize="50sp"
      android:textColor="@color/colorAccent"
      android:text="Please choose a flower you like!"
      android:ellipsize="marquee"
      android:marqueeRepeatLimit="marquee_forever"
      android:singleLine="true"
      android:id="@+id/txt_wz"
      android:focusable="true"
      android:focusableInTouchMode="true"/>
  
  <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="50dp">
  </LinearLayout>

  <RelativeLayout
      android:layout_width="match_parent"
      android:layout_height="141dp">
      <ImageView
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:id="@+id/img" />
  </RelativeLayout>


  <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:layout_weight="12.42">
  </LinearLayout>


  <LinearLayout
      android:layout_width="390dp"
      android:layout_height="wrap_content"
      android:orientation="vertical">
      <RadioGroup
          android:id="@+id/group_one"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:orientation="horizontal"
          android:layout_gravity="center">
          <RadioButton
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="梅 花  "
              android:textSize="20sp"
              android:id="@+id/rbtn_10"
              android:onClick="myclick"/>
          <RadioButton
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="石楠花 "
              android:textSize="20sp"
              android:id="@+id/rbtn_11"
              android:onClick="myclick11"/>
          <RadioButton
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="象牙花"
              android:textSize="20sp"
              android:id="@+id/rbtn_12"
              android:onClick="myclick12"/>
      </RadioGroup>


      <RadioGroup
          android:id="@+id/group_two"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_gravity="center"
          android:orientation="horizontal">

          <RadioButton
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="繡球花"
              android:textSize="20sp"
              android:id="@+id/rbtn_20"
              android:onClick="myclick20"/>

          <RadioButton
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="玉蘭花"
              android:textSize="20sp"
              android:id="@+id/rbtn_21"
              android:onClick="myclick21"/>
          <RadioButton
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:text="牡丹花  "
              android:textSize="20sp"
              android:id="@+id/rbtn_22"
              android:onClick="myclick22"/>
      </RadioGroup>
  </LinearLayout>




</LinearLayout>

接下來講點擊事件的執行 在監聽事件是經過在xml佈局文件中對應得Activity中定義一個事件處理方法 public void myClick(View source) source對應事件源(組件) 接着佈局文件中對應要觸發事件的組建,設置一個屬性:onclick = "myclick"來實現 在網上學到的方法在作做業中試了試

參考[](http://www.runoob.com/w3cnote/android-tutorial-listen-event-handle.html)

java文件
```javascript

public class MainActivity extends AppCompatActivity {
private RadioButton rbtn_10;
private RadioButton rbtn_11;
private RadioButton rbtn_12;
private RadioButton rbtn_20;
private RadioButton rbtn_21;
private RadioButton rbtn_22;
private ImageView img;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    rbtn_10=(RadioButton)findViewById(R.id.rbtn_10);
    rbtn_11=(RadioButton)findViewById(R.id.rbtn_11);
    rbtn_12=(RadioButton)findViewById(R.id.rbtn_12);
    rbtn_20=(RadioButton)findViewById(R.id.rbtn_20);
    rbtn_21=(RadioButton)findViewById(R.id.rbtn_21);
    rbtn_22=(RadioButton)findViewById(R.id.rbtn_22);
    img=(ImageView)findViewById(R.id.img);
    
     }

    public void myclick (View source) {
        if (rbtn_10.isChecked()) {
            img.setImageResource(R.drawable.mei);
            rbtn_11.setChecked(false);
            rbtn_12.setChecked(false);
            rbtn_20.setChecked(false);
            rbtn_21.setChecked(false);
            rbtn_22.setChecked(false);


        }
    }
    public void myclick11 (View source){
        if (rbtn_11.isChecked()) {
            img.setImageResource(R.drawable.shi);
            rbtn_10.setChecked(false);
            rbtn_12.setChecked(false);
            rbtn_20.setChecked(false);
            rbtn_21.setChecked(false);
            rbtn_22.setChecked(false);
        }
    }
    public void myclick12 (View source){
        if (rbtn_12.isChecked()) {
        img.setImageResource(R.drawable.xiang);
            rbtn_11.setChecked(false);
            rbtn_10.setChecked(false);
            rbtn_20.setChecked(false);
            rbtn_21.setChecked(false);
            rbtn_22.setChecked(false);

        }

    }
    public void myclick20 (View source){
        if (rbtn_20.isChecked()) {
        img.setImageResource(R.drawable.xiu);
            rbtn_11.setChecked(false);
            rbtn_12.setChecked(false);
            rbtn_10.setChecked(false);
            rbtn_21.setChecked(false);
            rbtn_22.setChecked(false);
        }

    }
    public void myclick21 (View source){
        if (rbtn_21.isChecked()) {
        img.setImageResource(R.drawable.yu);
            rbtn_11.setChecked(false);
            rbtn_12.setChecked(false);
            rbtn_20.setChecked(false);
            rbtn_10.setChecked(false);
            rbtn_22.setChecked(false);
        }

    }
    public void myclick22 (View source){
        if (rbtn_22.isChecked()) {
        img.setImageResource(R.drawable.mu);
            rbtn_11.setChecked(false);
            rbtn_12.setChecked(false);
            rbtn_20.setChecked(false);
            rbtn_21.setChecked(false);
            rbtn_10.setChecked(false);
     }

    }

}

```

效果圖:

相關文章
相關標籤/搜索