21_Android中常见对话框,光传感器,通过重力感应器编写出指南针应用,帧动画,通过Jav代码的方式编写补间动画,通过XML的方式编写补间动画
1 关于常见的对话框,主要有:
常见的对话框,单选对话框,多选对话框,进度条对话框(转圈类型的),带进度条的对话框。
案例结构:
完成如下结构的案例,将所有的案例都测试一下:
2 编写MainActivity,代码如下:
package com.itheima.dialog; import android.app.Activity; import android.app.AlertDialog; import android.app.ProgressDialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.DialogInterface.OnMultiChoiceClickListener; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click1(View view) { // 对话框的创建器 AlertDialog.Builder builder = new Builder(this); builder.setTitle("我是对话框"); builder.setMessage("对话框显示的内容"); // 设置点击确定按钮后制定的动作 builder.setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), "确定被点击了", 0).show(); } }); builder.setNegativeButton("取消", new OnClickListener() {// 设置取消按钮 @Override public void onClick(DialogInterface dialog, int which) { // 什么都不写默认实现的就是关闭掉对话框 Toast.makeText(getApplicationContext(), "点击了取消按钮", Toast.LENGTH_LONG).show(); } }); builder.setCancelable(false); builder.create().show(); } /** * 单选对话框 * * @param view */ public void click2(View view) { // 对话框的创建器 AlertDialog.Builder builder = new Builder(this); builder.setTitle("请选择您的性别"); final String[] items = { "男", "女", "未知" }; //这里的1表示默认选中的是哪个,0:表示选中的是第一个 builder.setSingleChoiceItems(items, 1, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(getApplicationContext(), "您的性别:" + items[which], 0).show(); dialog.dismiss(); } }); builder.create().show(); } /** * 多选对话框 * @param view */ public void click3(View view) { // 对话框的创建器 AlertDialog.Builder builder = new Builder(this); builder.setTitle("请选择你最爱吃的水果"); final String[] items = { "苹果", "梨", "菠萝", "香蕉", "黄瓜" }; final boolean[] result = new boolean[] { true, false, true, false,false}; builder.setMultiChoiceItems(items, result, new OnMultiChoiceClickListener() { public void onClick(DialogInterface dialog, int which, boolean isChecked) { Toast.makeText(getApplicationContext(), items[which] + isChecked, 0).show(); result[which] = isChecked; } }); builder.setPositiveButton("提交", new OnClickListener() { public void onClick(DialogInterface dialog, int which) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < result.length; i++) { if (result[i]) { sb.append(items[i] + ","); } } Toast.makeText(getApplicationContext(), "您选中了," + sb.toString(), 0).show(); } }); // builder.create().show(); builder.show(); } // 进度条对话框 public void click4(View view) { ProgressDialog pd = new ProgressDialog(this); pd.setTitle("提醒"); pd.setMessage("正在加载数据...请稍等。"); pd.show(); } // 带进度的进度条对话框 public void click5(View view) { final ProgressDialog pd = new ProgressDialog(this); pd.setTitle("提醒"); pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); pd.setMax(100); pd.setMessage("正在加载数据...请稍等。"); pd.show(); new Thread() { public void run() { for (int i = 0; i < 100; i++) { try { Thread.sleep(40); } catch (InterruptedException e) { e.printStackTrace(); } pd.setProgress(i); } pd.dismiss(); }; }.start(); } } |
==============================================================================
1 光传感器
编写布局文件activity_main.xml
<RelativeLayout Android指南针,案例效果: 2 编写布局文件,代码如下(activity_main.xml):
============================================================================= 1 除了通过代码的方式制作补间动画之外,还可以通过xml的方式制作补间动画。 案例: 2 下面通过如下结构的代码编写出上面的案例: 3 编写的布局文件activity_main.xml如下:
2 编写MainActivity,代码如下:
21_Android中常见对话框,光传感器,通过重力感应器编写出指南针应用,帧动画,通过Jav代码的方式编写补间动画,通过XML的方式编写补间动画的更多相关文章
随机推荐
|