Android第五、六周作业
1.返回键实现对话框弹出是否退出应用程序
1 package com.example.lwk; 2 3 import androidx.appcompat.app.AlertDialog; 4 import androidx.appcompat.app.AppCompatActivity; 5 6 import android.content.DialogInterface; 7 import android.os.Bundle; 8 9 public class MainActivity extends AppCompatActivity { 10 11 @Override 12 protected void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 setContentView(R.layout.activity_main); 15 } 16 @Override 17 public void onBackPressed() { 18 AlertDialog dialog; 19 AlertDialog.Builder builder=new AlertDialog.Builder(this) 20 .setTitle("普通对话框") 21 .setIcon(R.mipmap.ic_launcher) 22 .setMessage("是否确定退出应用:") 23 .setPositiveButton("确定", new DialogInterface.OnClickListener() { 24 @Override 25 public void onClick(DialogInterface dialog, int which) { 26 dialog.dismiss(); 27 MainActivity.this.finish(); 28 } 29 }) 30 .setNegativeButton("取消", new DialogInterface.OnClickListener() { 31 @Override 32 public void onClick(DialogInterface dialog, int which) { 33 dialog.dismiss(); 34 } 35 }); 36 dialog=builder.create(); 37 dialog.show(); 38 39 } 40 }
2.实现以下场景:从一个activity中点击一个按钮后,弹出一个单选按钮对话框,上面有“男”“女”两个选项,选定后,TOAST弹出 你选择了男,或你选择了女(参考书上改字体)
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".MainActivity" 8 android:orientation="vertical"> 9 10 <TextView 11 android:id="@+id/tv_1" 12 android:layout_width="match_parent" 13 android:layout_height="wrap_content" 14 android:text="单选对话框" 15 android:gravity="center" 16 android:layout_marginTop="20dp" 17 android:textSize="20sp" 18 android:textColor="#474141" 19 android:textStyle="bold"/> 20 <Button 21 android:id="@+id/bt_1" 22 android:layout_width="wrap_content" 23 android:layout_height="wrap_content" 24 android:text="请选择你的性别" 25 android:layout_marginTop="20dp" 26 android:layout_gravity="center" 27 android:textSize="20sp" 28 android:textStyle="bold" 29 android:textColor="#474141"/> 30 </LinearLayout>
1 package com.example.homework8; 2 3 import androidx.appcompat.app.AlertDialog; 4 import androidx.appcompat.app.AppCompatActivity; 5 6 import android.content.DialogInterface; 7 import android.os.Build; 8 import android.os.Bundle; 9 import android.view.View; 10 import android.widget.TextView; 11 import android.widget.Toast; 12 13 import java.util.Locale; 14 15 public class MainActivity extends AppCompatActivity implements View.OnClickListener{ 16 private TextView textView; 17 final String [] sexs=new String[]{"男","女"}; 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.activity_main); 22 findViewById(R.id.bt_1).setOnClickListener(this); 23 textView=(TextView) findViewById(R.id.tv_1); 24 25 } 26 public void onClick(View view){ 27 AlertDialog dialog; 28 AlertDialog.Builder builder=new AlertDialog.Builder(this); 29 builder.setTitle("请选择你的性别:"); 30 builder.setIcon(R.mipmap.ic_launcher); 31 builder.setSingleChoiceItems(sexs, 1, new DialogInterface.OnClickListener() { 32 @Override 33 public void onClick(DialogInterface dialog, int which) { 34 Toast.makeText(MainActivity.this,"您选择的是:"+sexs[which],Toast.LENGTH_LONG).show(); 35 dialog.dismiss(); 36 } 37 }); 38 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { 39 @Override 40 public void onClick(DialogInterface dialog, int which) { 41 Toast.makeText(MainActivity.this,"您选择了"+sexs[which],Toast.LENGTH_LONG).show(); 42 dialog.dismiss(); 43 } 44 }) 45 .setNegativeButton("取消", new DialogInterface.OnClickListener() { 46 @Override 47 public void onClick(DialogInterface dialog, int which) { 48 dialog.dismiss(); 49 } 50 }); 51 dialog=builder.create(); 52 dialog.show(); 53 } 54 }
3.布局(详见:Android第五周上机word文档)
1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".MainActivity" 8 android:background="#25FA2A" 9 android:layout_margin="5dp"> 10 11 <TextView 12 android:id="@+id/tv_1" 13 android:layout_width="match_parent" 14 android:layout_height="wrap_content" 15 android:text="1.TextView显示文本信息" 16 android:textColor="#F81606" 17 android:textSize="20sp" 18 android:textStyle="italic" 19 android:gravity="center" 20 android:layout_marginTop="20dp"/> 21 <Button 22 android:id="@+id/bu_1" 23 android:layout_width="360dp" 24 android:layout_height="wrap_content" 25 android:text="2.按钮" 26 android:textColor="#F81606" 27 android:textSize="20sp" 28 android:textStyle="bold" 29 android:layout_centerHorizontal="true" 30 android:layout_below="@id/tv_1" 31 android:padding="10dp"/> 32 <EditText 33 android:id="@+id/et_1" 34 android:layout_width="match_parent" 35 android:layout_height="wrap_content" 36 android:hint="3.编辑框:请输入信息" 37 android:textColorHint="#F81606" 38 android:textSize="20sp" 39 android:layout_below="@id/bu_1" 40 android:layout_alignStart="@id/bu_1" 41 android:layout_margin="5dp" 42 android:padding="10dp"/> 43 <RadioGroup 44 android:id="@+id/rg_1" 45 android:layout_width="wrap_content" 46 android:layout_height="wrap_content" 47 android:layout_below="@id/et_1" 48 android:layout_alignLeft="@id/et_1" 49 android:orientation="horizontal" 50 android:padding="5dp"> 51 52 <RadioButton 53 android:id="@+id/rb_1" 54 android:layout_width="wrap_content" 55 android:layout_height="wrap_content" 56 android:text="4.男" 57 android:textSize="20sp" 58 android:textColor="#F81606" /> 59 <RadioButton 60 android:id="@+id/rb_2" 61 android:layout_width="wrap_content" 62 android:layout_height="wrap_content" 63 android:text="女" 64 android:textSize="20sp" 65 android:textColor="#F81606" /> 66 </RadioGroup> 67 <LinearLayout 68 android:layout_width="match_parent" 69 android:layout_height="match_parent" 70 android:orientation="vertical" 71 android:layout_below="@id/rg_1" 72 android:layout_alignLeft="@id/rg_1"> 73 <CheckBox 74 android:id="@+id/ck_1" 75 android:layout_width="wrap_content" 76 android:layout_height="wrap_content" 77 android:text="电脑" 78 android:textSize="20sp" 79 android:textColor="#F81606" 80 android:padding="5dp" /> 81 <CheckBox 82 android:id="@+id/ck_2" 83 android:layout_width="wrap_content" 84 android:layout_height="wrap_content" 85 android:text="手机" 86 android:textSize="20sp" 87 android:textColor="#F81606" 88 android:padding="5dp"/> 89 </LinearLayout> 90 91 </RelativeLayout>
4.教材p76页 图3—17购物商城界面
1 activity_main.xml:<?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context=".MainActivity" 8 android:orientation="vertical"> 9 <TextView 10 android:id="@+id/tv" 11 android:layout_width="match_parent" 12 android:layout_height="50dp" 13 android:text="购物商城" 14 android:textColor="#E8E3E9" 15 android:background="#C175CE" 16 android:textSize="20sp" 17 android:gravity="center"/> 18 <ListView 19 android:id="@+id/lv" 20 android:layout_width="match_parent" 21 android:layout_height="wrap_content"/> 22 23 </LinearLayout>
1 list_item.xml:<?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:padding="15dp"> 7 8 <ImageView 9 android:id="@+id/iv" 10 android:layout_width="100dp" 11 android:layout_height="80dp" 12 android:layout_centerVertical="true"/> 13 <RelativeLayout 14 android:layout_width="wrap_content" 15 android:layout_height="wrap_content" 16 android:layout_centerVertical="true" 17 android:layout_marginLeft="10dp" 18 android:layout_toRightOf="@id/iv"> 19 <TextView 20 android:id="@+id/title" 21 android:layout_width="wrap_content" 22 android:layout_height="wrap_content" 23 android:text="桌子" 24 android:textSize="20sp" 25 android:textColor="#4B4343"/> 26 <TextView 27 android:id="@+id/tv_p" 28 android:layout_width="wrap_content" 29 android:layout_height="wrap_content" 30 android:text="价格" 31 android:textSize="20sp" 32 android:textColor="#F5A631" 33 android:layout_below="@id/title" 34 android:layout_marginTop="10dp"/> 35 <TextView 36 android:id="@+id/price" 37 android:layout_width="wrap_content" 38 android:layout_height="wrap_content" 39 android:text="1800" 40 android:textSize="20sp" 41 android:textColor="#F5A631" 42 android:layout_below="@id/title" 43 android:layout_toRightOf="@id/tv_p" 44 android:layout_marginTop="10dp"/> 45 46 </RelativeLayout> 47 </RelativeLayout>
1 package com.example.chap07; 2 3 import androidx.appcompat.app.AppCompatActivity; 4 5 import android.os.Bundle; 6 import android.view.View; 7 import android.view.ViewGroup; 8 import android.widget.BaseAdapter; 9 import android.widget.ImageView; 10 import android.widget.ListView; 11 import android.widget.TextView; 12 13 public class MainActivity extends AppCompatActivity { 14 private ListView mListView; 15 //商品名称与价格数据集合 16 private String [] titles={"桌子","苹果","蛋糕","线衣","猕猴桃","围巾"}; 17 private String [] prices={"1800元","10元/kg","300元","350元","10元/kg","280元"}; 18 //图片数据集合 19 private int [] icons={R.drawable.table,R.drawable.apple,R.drawable.cake,R.drawable.wireclothes,R.drawable.kiwifruit,R.drawable.scarf}; 20 @Override 21 protected void onCreate(Bundle savedInstanceState) { 22 super.onCreate(savedInstanceState); 23 setContentView(R.layout.activity_main); 24 mListView = (ListView) findViewById(R.id.lv);//初始化ListView控件 25 MyBaseAdapter myAdapter = new MyBaseAdapter();//创建一个Adapter实例 26 mListView.setAdapter(myAdapter);//设置Adapter 27 } 28 class MyBaseAdapter extends BaseAdapter{ 29 @Override 30 public int getCount() { //获取item的总数 31 return titles.length; //返回ListView Item条目的总数 32 } 33 @Override 34 public Object getItem(int i) { 35 return titles[i]; //返回Item的数据对象 36 } 37 @Override 38 public long getItemId(int i) { 39 return i; //返回Item的id 40 } 41 //得到Item的View视图 42 @Override 43 public View getView(int i, View view, ViewGroup viewGroup) { 44 View view1= View.inflate(MainActivity.this,R.layout.list_item,null); 45 TextView title = (TextView)view1.findViewById(R.id.title); 46 TextView price = (TextView)view1.findViewById(R.id.price); 47 ImageView iv = (ImageView)view1.findViewById(R.id.iv); 48 title.setText(titles[i]); 49 price.setText(prices[i]); 50 iv.setBackgroundResource(icons[i]); 51 return view1; 52 } 53 } 54 }