android第五六周作业
1.按模拟器上返回键,实现对话框弹出“是否退出应用程序”,如果选择是,退出,选择否,不退出
1 package com.example.myapplication; 2 3 4 import android.os.Bundle; 5 import android.app.Activity; 6 import android.app.AlertDialog; 7 import android.app.AlertDialog.Builder; 8 import android.content.DialogInterface; 9 import android.text.AlteredCharSequence; 10 import android.view.Menu; 11 12 public class MainActivity extends Activity { 13 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_main); 18 19 } 20 @Override 21 public void onBackPressed() { 22 // TODO Auto-generated method stub 23 AlertDialog.Builder builder=new AlertDialog.Builder(this) 24 .setTitle("普通对话框") 25 .setMessage("是否退出至主菜单") 26 .setIcon(R.drawable.ic_launcher_background) 27 .setPositiveButton("确定", new DialogInterface.OnClickListener() { 28 29 @Override 30 public void onClick(DialogInterface dialog, int which) { 31 // TODO Auto-generated method stub 32 dialog.dismiss(); 33 MainActivity.this.finish(); 34 } 35 }) 36 .setNegativeButton("取消", new DialogInterface.OnClickListener() { 37 38 @Override 39 public void onClick(DialogInterface dialog, int which) { 40 // TODO Auto-generated method stub 41 dialog.dismiss(); 42 } 43 }); 44 AlertDialog dialog=builder.create(); 45 dialog.show(); 46 } 47 48 }
2.实现以下场景:从一个activity中点击一个按钮后,弹出一个单选按钮对话框,上面有“男”“女”两个选项,选定后,TOAST弹出 你选择了男,或你选择了女(参考书上改字体那个案例)
1 package com.example.myapplication; 2 3 4 5 import android.os.Bundle; 6 import android.app.Activity; 7 import android.app.AlertDialog; 8 import android.app.AlertDialog.Builder; 9 import android.content.DialogInterface; 10 import android.view.Menu; 11 import android.view.View; 12 import android.view.View.OnClickListener; 13 import android.widget.Button; 14 import android.widget.Toast; 15 16 public class MainActivity extends Activity implements OnClickListener { 17 18 private int num=0; 19 private int num1[]={0,1}; 20 @Override 21 protected void onCreate(Bundle savedInstanceState) { 22 super.onCreate(savedInstanceState); 23 setContentView(R.layout.activity_main); 24 findViewById(R.id.bt).setOnClickListener(this); 25 } 26 @Override 27 public void onClick(View v) { 28 // TODO Auto-generated method stub 29 AlertDialog.Builder builder=new AlertDialog.Builder(this) 30 .setTitle("性别") 31 .setSingleChoiceItems(new String[]{"男","女"}, -1, new DialogInterface.OnClickListener() { 32 33 @Override 34 public void onClick(DialogInterface dialog, int which) { 35 // TODO Auto-generated method stub 36 num=which; 37 } 38 }) 39 .setPositiveButton("确定",new DialogInterface.OnClickListener() { 40 @Override 41 public void onClick(DialogInterface dialog, int which) { 42 // TODO Auto-generated method stub 43 if(num==0){ 44 Toast.makeText(MainActivity.this, "你选择的是男", Toast.LENGTH_LONG).show(); 45 }else{ 46 Toast.makeText(MainActivity.this, "你选择的是女", Toast.LENGTH_SHORT).show(); 47 } 48 dialog.dismiss(); 49 } 50 }) 51 .setNegativeButton("取消", new DialogInterface.OnClickListener() { 52 53 @Override 54 public void onClick(DialogInterface dialog, int which) { 55 // TODO Auto-generated method stub 56 dialog.dismiss(); 57 } 58 }); 59 AlertDialog dialog=builder.create(); 60 dialog.show(); 61 } 62 }
3.实现如下布局界面
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="20dp" 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="20dp" 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="25dp" 39 android:layout_below="@id/bu_1" 40 android:layout_margin="5dp" 41 android:padding="10dp"/> 42 <RadioGroup 43 android:id="@+id/rg_1" 44 android:layout_width="wrap_content" 45 android:layout_height="wrap_content" 46 android:layout_below="@id/et_1" 47 android:layout_alignLeft="@id/et_1" 48 android:orientation="horizontal" 49 android:padding="5dp"> 50 51 <RadioButton 52 android:id="@+id/rb_1" 53 android:layout_width="wrap_content" 54 android:layout_height="wrap_content" 55 android:text="4.男" 56 android:textSize="20dp" 57 android:textColor="#F81606" /> 58 <RadioButton 59 android:id="@+id/rb_2" 60 android:layout_width="wrap_content" 61 android:layout_height="wrap_content" 62 android:text="女" 63 android:textSize="20dp" 64 android:textColor="#F81606" /> 65 </RadioGroup> 66 <LinearLayout 67 android:layout_width="match_parent" 68 android:layout_height="match_parent" 69 android:orientation="vertical" 70 android:layout_below="@id/rg_1" 71 android:layout_alignLeft="@id/rg_1"> 72 <CheckBox 73 android:id="@+id/ck_1" 74 android:layout_width="wrap_content" 75 android:layout_height="wrap_content" 76 android:text="电脑" 77 android:textSize="20dp" 78 android:textColor="#F81606" 79 android:padding="5dp" /> 80 <CheckBox 81 android:id="@+id/ck_2" 82 android:layout_width="wrap_content" 83 android:layout_height="wrap_content" 84 android:text="手机" 85 android:textSize="20dp" 86 android:textColor="#F81606" 87 android:padding="5dp"/> 88 </LinearLayout> 89 90 </RelativeLayout>
4.教材p76页 图3—17购物商城界面
1 package com.example.myapplication;
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 } 55 78 <?xml version="1.0" encoding="utf-8"?> 79 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 80 xmlns:app="http://schemas.android.com/apk/res-auto" 81 xmlns:tools="http://schemas.android.com/tools" 82 android:layout_width="match_parent" 83 android:layout_height="match_parent" 84 tools:context=".MainActivity" 85 android:orientation="vertical"> 86 <TextView 87 android:id="@+id/tv" 88 android:layout_width="match_parent" 89 android:layout_height="50dp" 90 android:text="购物商城" 91 android:textColor="#E8E3E9" 92 android:background="#FF5722" 93 android:textSize="20sp" 94 android:gravity="center"/> 95 <ListView 96 android:id="@+id/lv" 97 android:layout_width="match_parent" 98 android:layout_height="wrap_content"/> 99 100 </LinearLayout>
1 <?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>