Android第5-6周作业
1.返回键实现对话框弹出是否退出应用程序
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 9 <TextView 10 android:layout_width="wrap_content" 11 android:layout_height="wrap_content" 12 android:text="Hello World!" 13 app:layout_constraintBottom_toBottomOf="parent" 14 app:layout_constraintLeft_toLeftOf="parent" 15 app:layout_constraintRight_toRightOf="parent" 16 app:layout_constraintTop_toTopOf="parent" /> 17 18 <Button 19 android:id="@+id/btn_1" 20 android:layout_width="wrap_content" 21 android:layout_height="wrap_content" 22 android:text="按钮1"/> 23 24 <Button 25 android:id="@+id/btn_2" 26 android:layout_width="wrap_content" 27 android:layout_height="wrap_content" 28 android:text="按钮2" /> 29 30 </LinearLayout>
1 package com.example.week5; 2 3 import androidx.appcompat.app.AppCompatActivity; 4 import android.os.Bundle; 5 import android.app.AlertDialog; 6 import android.content.DialogInterface; 7 8 public class MainActivity extends AppCompatActivity { 9 10 @Override 11 protected void onCreate(Bundle savedInstanceState) { 12 super.onCreate(savedInstanceState); 13 setContentView(R.layout.activity_main); 14 } 15 @Override 16 // 点击返回按钮时 17 public void onBackPressed() { 18 AlertDialog dialog; 19 AlertDialog.Builder builder = new AlertDialog.Builder(this); 20 builder.setIcon(R.mipmap.ic_launcher 21 ); 22 builder.setTitle("普通对话框"); 23 builder.setMessage("是否退出应用程序?"); 24 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { 25 26 @Override 27 public void onClick(DialogInterface dialog, int which) { 28 dialog.dismiss(); 29 MainActivity.this.finish();// 主窗口关闭 30 31 } 32 }); 33 builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { 34 35 @Override 36 public void onClick(DialogInterface dialog, int which) { 37 dialog.dismiss(); 38 39 } 40 }); 41 42 dialog = builder.create(); 43 dialog.show(); 44 45 } 46 }
2.实现以下场景:从一个activity中点击一个按钮后,弹出一个单选按钮对话框,上面有“男”“女”两个选项,选定后,TOAST弹出 你选择了男,或你选择了女(参考书上改字体)
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical"> 6 7 <Button 8 android:id="@+id/bt" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 android:text="单选对话框" 12 android:onClick="Clicked2" 13 android:layout_marginTop="20dp" 14 android:layout_gravity="center" /> 15 16 </LinearLayout>
1 package com.example.a5homework2; 2 3 import androidx.appcompat.app.AppCompatActivity; 4 import android.os.Bundle; 5 import android.app.AlertDialog; 6 import android.content.DialogInterface; 7 import android.view.View; 8 import android.widget.Toast; 9 import android.app.AlertDialog.Builder; 10 import android.content.DialogInterface.OnClickListener; 11 12 public class MainActivity extends AppCompatActivity { 13 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_main); 18 } 19 20 //使用创建器生成一个对话框对象 21 22 //单选对话框按钮响应函数 23 public void Clicked2(View view) { 24 AlertDialog.Builder builder = new Builder(this); 25 AlertDialog ad = builder.create(); 26 ad.show(); 27 //设置单选对话框的标题 28 builder.setTitle("请选择性别"); 29 //创建字符串数组,用来设置单选对话框中的条目 30 final String[] items = {"男", "女"}; 31 //创建单选对话框 32 //第一个参数:单选对话框中显示的条目所在的字符串数组 33 //第二个参数:默认选择的条目的下标(-1表示默认没有选择任何条目) 34 //第三个参数:设置事件监听 35 builder.setSingleChoiceItems(items, -1, new OnClickListener() { 36 //which:用户所选的条目的下标 37 //dialog:触发这个方法的对话框 38 @Override 39 public void onClick(DialogInterface dialog, int which) { 40 //使用吐司对话框提示用户选择的性别 41 Toast.makeText( 42 MainActivity.this, 43 "您选择的性别是:" + items[which], 44 Toast.LENGTH_SHORT).show(); 45 //关闭对话框 46 dialog.dismiss(); 47 } 48 }); 49 //显示单选对话框 50 builder.show(); 51 } 52 }
3.实现如下布局界面
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:background="#00FF05" 6 android:orientation="vertical"> 7 8 <TextView 9 android:id="@+id/tv_1" 10 android:layout_width="match_parent" 11 android:layout_height="wrap_content" 12 android:layout_marginTop="15dp" 13 android:gravity="center" 14 android:text="1TextView显示文本信息" 15 android:textColor="#FF0F00" 16 android:textSize="25sp" 17 android:textStyle="italic" /> 18 19 <Button 20 android:id="@+id/btn_1" 21 android:layout_width="match_parent" 22 android:layout_height="wrap_content" 23 android:layout_marginLeft="15dp" 24 android:layout_marginRight="15dp" 25 android:text="2.按钮" 26 android:textColor="#FF0F00" 27 android:textSize="25sp" /> 28 29 <EditText 30 android:id="@+id/et_1" 31 android:layout_width="380dp" 32 android:layout_height="wrap_content" 33 android:layout_marginLeft="15dp" 34 android:layout_marginRight="15dp" 35 android:hint="3.编辑框:请输入信息" 36 android:textColorHint="#FF0F00" 37 android:textSize="25sp" /> 38 39 <LinearLayout 40 android:layout_width="wrap_content" 41 android:layout_height="wrap_content" 42 android:orientation="horizontal" > 43 <RadioGroup 44 android:layout_width="match_parent" 45 android:layout_height="wrap_content" 46 android:orientation="horizontal"> 47 <RadioButton 48 android:id="@+id/rb_1" 49 android:layout_width="match_parent" 50 android:layout_height="wrap_content" 51 android:layout_marginLeft="15dp" 52 android:text="男" 53 android:textColor="#FF0F00" 54 android:textSize="25sp" /> 55 <RadioButton 56 android:id="@+id/rb_2" 57 android:layout_width="match_parent" 58 android:layout_height="wrap_content" 59 android:layout_marginLeft="15dp" 60 android:text="女" 61 android:textColor="#FF0F00" 62 android:textSize="25sp" /> 63 </RadioGroup> 64 </LinearLayout> 65 66 <CheckBox 67 android:id="@+id/cb_1" 68 android:layout_width="wrap_content" 69 android:layout_height="wrap_content" 70 android:layout_marginLeft="15dp" 71 android:text="电脑" 72 android:textColor="#FF0F00" 73 android:textSize="25sp"/> 74 75 <CheckBox 76 android:id="@+id/cb_2" 77 android:layout_width="wrap_content" 78 android:layout_height="wrap_content" 79 android:layout_marginLeft="15dp" 80 android:text="手机" 81 android:textColor="#FF0F00" 82 android:textSize="25sp"/> 83 </LinearLayout>
4.教材p76页 图3—17购物商城界面
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical"> 6 7 <TextView 8 android:layout_width="match_parent" 9 android:layout_height="45dp" 10 android:text="购物商城" 11 android:textSize="18sp" 12 android:textColor="#FFFFFF" 13 android:background="#FF8F03" 14 android:gravity="center"/> 15 16 <ListView 17 android:id="@+id/lv" 18 android:layout_width="match_parent" 19 android:layout_height="wrap_content"/> 20 </LinearLayout>
1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:padding="16dp"> 6 <ImageView 7 android:id="@+id/iv" 8 android:layout_width="120dp" 9 android:layout_height="90dp" 10 android:layout_centerVertical="true"/> 11 <RelativeLayout 12 android:layout_width="wrap_content" 13 android:layout_height="wrap_content" 14 android:layout_marginLeft="10dp" 15 android:layout_toRightOf="@+id/iv" 16 android:layout_centerVertical="true"> 17 <TextView 18 android:id="@+id/title" 19 android:layout_width="wrap_content" 20 android:layout_height="wrap_content" 21 android:text="桌子" 22 android:textSize="20sp" 23 android:textColor="#000000"/> 24 <TextView 25 android:id="@+id/tv_price" 26 android:layout_width="wrap_content" 27 android:layout_height="wrap_content" 28 android:text="价格:" 29 android:textSize="20sp" 30 android:layout_marginTop="10dp" 31 android:layout_below="@+id/title" 32 android:textColor="#FF8F03"/> 33 <TextView 34 android:id="@+id/price" 35 android:layout_width="wrap_content" 36 android:layout_height="wrap_content" 37 android:text="1000" 38 android:textSize="20sp" 39 android:layout_below="@+id/title" 40 android:layout_toRightOf="@+id/tv_price" 41 android:textColor="#FF8F03" 42 android:layout_marginTop="10dp"/> 43 </RelativeLayout> 44 </RelativeLayout>
1 package com.example.listview; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.view.View; 6 import android.view.ViewGroup; 7 import android.widget.BaseAdapter; 8 import android.widget.ImageView; 9 import android.widget.ListView; 10 import android.widget.TextView; 11 12 public class MainActivity extends Activity { 13 private ListView mListView; 14 //商品名称与价格数据集合 15 private String[ ] titles = {"桌子","苹果","蛋糕","线衣","猕猴桃","围巾"}; 16 private String[ ] prices = {"1000元","10元/kg","300元","350元","10元/kg","280元"}; 17 //图片数据集合 18 private int[ ] icons = {R.drawable.table,R.drawable.apple,R.drawable.cake,R.drawable. 19 wrieclothes,R.drawable.kiwifruit,R.drawable.scarf}; 20 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 mAdapter = new MyBaseAdapter();//创建一个Adapter实例 26 mListView.setAdapter(mAdapter); //设置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 position){ 35 return titles[position]; //返回Item的数据对象 36 } 37 @Override 38 public long getItemId(int position){ 39 return position; //返回Item的id 40 } 41 //得到Item的View视图 42 @Override 43 public View getView(int position,View convertView,ViewGroup parent){ 44 //加载list_item.xml布局文件 45 View view = View.inflate(MainActivity.this,R.layout.list_item,null); 46 TextView title = (TextView) view.findViewById(R.id.title); 47 TextView price = (TextView) view.findViewById(R.id.price); 48 ImageView iv = (ImageView) view.findViewById(R.id.iv); 49 title.setText(titles[position]); 50 price.setText(prices[position]); 51 iv.setBackgroundResource(icons[position]); 52 return view; 53 } 54 } 55 }