案例一:
效果图:
布局代码:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.mrzhao.practicezandemo.MainActivity"> <TextView android:id="@+id/show_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="今天收获很大 = 赞" android:layout_centerInParent="true" android:textColor="@android:color/holo_red_dark" android:textSize="20sp" /> <Button android:id="@+id/zan_add_bt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onButtonClick" android:layout_alignParentBottom="true" android:text="赞+1" tools:ignore="OnClick" /> <Button android:onClick="onButtonClick" android:id="@+id/zan_reduce_bt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:text="赞-1" tools:ignore="OnClick" /> </RelativeLayout>
MainActivity代码:
public class MainActivity extends AppCompatActivity { private TextView showTv; private int count = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showTv = (TextView) findViewById(R.id.show_tv); // 添加默认 showTv.append(String.valueOf(count)); } public void onButtonClick(View view) { switch (view.getId()){ case R.id.zan_add_bt: //点击 赞+1 count++; break; case R.id.zan_reduce_bt: //点击 赞-1 count--; break; } showTv.setText("今天收获很大 赞"+count); } }
案例二:
效果图:
布局代码:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.mrzhao.practiceimagedemo.MainActivity"> <ImageView android:id="@+id/show_iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" /> <Button android:id="@+id/previous_bt" android:onClick="onClick" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:text="上一张" tools:ignore="OnClick" /> <Button android:id="@+id/next_bt" android:onClick="onClick" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:text="下一张" tools:ignore="OnClick" /> </RelativeLayout>
MainActivity代码
public class MainActivity extends AppCompatActivity { private ImageView showIv; private int[] resource = {R.mipmap.aaa, R.mipmap.bbb, R.mipmap.ccc, R.mipmap.ddd, R.mipmap.eee, R.mipmap.fff, R.mipmap.ggg,}; private int current = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showIv = (ImageView) findViewById(R.id.show_iv); showIv.setImageResource(resource[current]); } public void onClick(View view) { switch (view.getId()) { case R.id.previous_bt: //上一张 if (current == 0) { current = resource.length-1; }else { current--; } showIv.setImageResource(resource[current]); break; case R.id.next_bt: //下一张 if (current == resource.length - 1) { current = 0; }else { current++; } showIv.setImageResource(resource[current]); break; } } }
案例三:
效果图:
布局代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.mrzhao.exam1demo.MainActivity"> <RelativeLayout android:layout_width="match_parent" android:layout_height="200dp" android:background="@mipmap/background"></RelativeLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <ImageView android:layout_width="30dp" android:layout_height="30dp" android:layout_gravity="bottom" android:src="@mipmap/ic_launcher" /> <ImageView android:layout_width="100dp" android:layout_height="100dp" android:layout_margin="10dp" android:layout_gravity="center_vertical" android:src="@mipmap/ic_launcher" /> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入账号" /> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入密码" android:inputType="textPassword" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <CheckBox android:id="@+id/remember_password_cb" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="记住密码" /> <CheckBox android:id="@+id/auto_login_cb" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="自动登录" /> </LinearLayout> <Button android:id="@+id/login_bt" android:onClick="onLoginClick" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/holo_blue_light" android:text="登 陆" android:textColor="@android:color/white" android:textSize="20sp" tools:ignore="OnClick" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dp" android:text="注册账号" android:textColor="@android:color/holo_blue_light" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:text="找回密码" android:textColor="@android:color/holo_blue_light" /> </LinearLayout> <ImageView android:onClick="onCodeClick" android:layout_width="30dp" android:layout_height="30dp" android:layout_gravity="bottom" android:src="@mipmap/ic_launcher" tools:ignore="OnClick" /> </LinearLayout> </LinearLayout>
MainActivity代码:
public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener ,View.OnClickListener{ private CheckBox rememberPCb; private CheckBox autoLoginCb; private Button loginBt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 实例化视图 rememberPCb = (CheckBox) findViewById(R.id.remember_password_cb); autoLoginCb = (CheckBox) findViewById(R.id.auto_login_cb); loginBt = (Button) findViewById(R.id.login_bt); //给记住密码 和 自动登录设置监听器 rememberPCb.setOnCheckedChangeListener(this); autoLoginCb.setOnCheckedChangeListener(this); //给登陆按钮 注册的第三种点击事件 loginBt.setOnClickListener(this); loginBt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //给登陆按钮 注册的第二种点击事件 匿名内部类 Toast.makeText(MainActivity.this, "点击了登陆按钮", Toast.LENGTH_SHORT).show(); } }); } // 重写的 监听方法 @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { switch (buttonView.getId()) { case R.id.remember_password_cb: if (isChecked) { //如果 记住密码按钮被选中了 则执行这里 Toast.makeText(this, "记住密码", Toast.LENGTH_SHORT).show(); } break; case R.id.auto_login_cb: if (isChecked) { //如果 自动登陆按钮被选中 则执行这里 Toast.makeText(this, "自动登陆", Toast.LENGTH_SHORT).show(); } break; } } //给登陆按钮注册的第一种监听事件 public void onLoginClick(View view) { Toast.makeText(this, "点击了登陆按钮", Toast.LENGTH_SHORT).show(); } //重写的点击事件方法 @Override public void onClick(View v) { Toast.makeText(this, "点击了登陆按钮", Toast.LENGTH_SHORT).show(); } // 点击右下角二维码图片的 事件 public void onCodeClick(View view) { //点击了右下角的 二维码 Toast.makeText(this, "该功能 正在开发中", Toast.LENGTH_SHORT).show(); } }
案例四:
效果图:
布局代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.mrzhao.exam2demo.MainActivity"> <TextView android:id="@+id/answer_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" android:text=" -- hey,Judy ,Could u tell me _____ the schoolbag?" android:textColor="@android:color/black" android:textSize="20sp" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" android:text=" -- Oh, yes ,I bought it in a store on the internet !" android:textColor="@android:color/black" android:textSize="20sp" /> <RadioGroup android:id="@+id/radioGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <RadioButton android:id="@+id/a_rb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" android:text="A . where did u buy" android:textSize="20sp" /> <RadioButton android:id="@+id/b_rb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" android:text="B . where will u buy" android:textSize="20sp" /> <RadioButton android:id="@+id/c_rb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" android:text="C . where u bought" android:textSize="20sp" /> <RadioButton android:id="@+id/d_rb" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="5dp" android:text="D . where u will buy" android:textSize="20sp" /> </RadioGroup> </LinearLayout>
MainActivity代码:
public class MainActivity extends AppCompatActivity { //展示答案和题干 的视图 private TextView answerTv; // 答案的按钮组 private RadioGroup radioGroup; //答案 private String answer = ""; // 题干 private String question = " -- hey,Judy ,Could u tell me _____ the schoolbag?"; //所有的答案 private RadioButton aRb, bRb, cRb, dRb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //答案的视图 answerTv = (TextView) findViewById(R.id.answer_tv); radioGroup = (RadioGroup) findViewById(R.id.radioGroup); //所有的选项 aRb = (RadioButton) findViewById(R.id.a_rb); bRb = (RadioButton) findViewById(R.id.b_rb); cRb = (RadioButton) findViewById(R.id.c_rb); dRb = (RadioButton) findViewById(R.id.d_rb); // 设置监听器 radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.a_rb: //定义答案 answer = "(A)"; //修改选中项 的字体颜色 changeTextColor(aRb); break; case R.id.b_rb: answer = "(B)"; changeTextColor(bRb); break; case R.id.c_rb: answer = "(C)"; changeTextColor(cRb); break; case R.id.d_rb: answer = "(D)"; changeTextColor(dRb); break; } //更新答案展示 answerTv.setText(question + answer); } }); } // 修改选中颜色 需要互斥 public void changeTextColor(RadioButton button) { //首先将四个答案都设置成 没有被选中的 黑色 aRb.setTextColor(Color.BLACK); bRb.setTextColor(Color.BLACK); cRb.setTextColor(Color.BLACK); dRb.setTextColor(Color.BLACK); // 将选中的 按钮 设置选中的颜色 button.setTextColor(Color.BLUE); } }
案例五:
效果图:
布局代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.mrzhao.multidemo.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:id="@+id/all_bt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="全选" tools:ignore="OnClick" /> <Button android:id="@+id/cancel_bt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="取消" tools:ignore="OnClick" /> <Button android:id="@+id/reChecked_bt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="反选" tools:ignore="OnClick" /> </LinearLayout> <LinearLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="肚子疼" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="呵呵" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="哈哈" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="嘻嘻" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="嘿嘿" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="尹志强" /> </LinearLayout> <TextView android:id="@+id/show_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
MainActivity代码:
public class MainActivity extends AppCompatActivity { private LinearLayout container; private CheckBox[] boxes; private TextView showTv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); showTv = (TextView) findViewById(R.id.show_tv); //该视图中 全都是 checkBox container = (LinearLayout) findViewById(R.id.container); //定义一个数组容器 boxes = new CheckBox[container.getChildCount()]; for (int i = 0; i < container.getChildCount(); i++) { //将全部的CheckBox 实例化 并添加到数组中 boxes[i] = (CheckBox) container.getChildAt(i); } } public void onClick(View view) { switch (view.getId()){ case R.id.all_bt: //全选 for (int i = 0; i < boxes.length; i++) { boxes[i].setChecked(true); } break; case R.id.cancel_bt: //取消 for (int i = 0; i < boxes.length; i++) { boxes[i].setChecked(false); } break; case R.id.reChecked_bt: //反选 for (int i = 0; i < boxes.length; i++) { //获原来的选中状态 boolean checked = boxes[i].isChecked(); //!表示 反选 boxes[i].setChecked(!checked); } break; } //将结果到TextView上显示出来 showCheckedContent(); } public void showCheckedContent(){ StringBuffer buffer= new StringBuffer(); //循环取出 选中的 文本 for (int i = 0; i < boxes.length; i++) { if (boxes[i].isChecked()){ buffer.append(boxes[i].getText().toString() +" "); } } //展示 showTv.setText(buffer.toString()); } }