步步为营_Android开发课[18]_用户界面之Dialog(对话框)
来源:互联网 发布:js模拟键盘按键 编辑:程序博客网 时间:2024/04/30 07:30
Focus on technology, enjoy life!—— QQ:804212028
浏览链接:http://blog.csdn.net/y18334702058/article/details/44624305
- 主题:用户界面之Dialog(对话框)
Dialog(对话框)实例:
activity_main.xml源代码:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/btn1" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="简易对话框" /> <Button android:id="@+id/btn2" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="列表选择框" /> <Button android:id="@+id/btn3" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="第一种进度条框" /> <Button android:id="@+id/btn4" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="第二种进度条框" /></LinearLayout>
MainActivity.java源代码:
import android.app.Activity;import android.app.AlertDialog;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener{ private Button btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { btn1 =(Button)findViewById(R.id.btn1); btn1.setOnClickListener(this); btn2 =(Button)findViewById(R.id.btn2); btn2.setOnClickListener(this); btn3 =(Button)findViewById(R.id.btn3); btn3.setOnClickListener(this); btn4 =(Button)findViewById(R.id.btn4); btn4.setOnClickListener(this); } @Override public void onClick(View v) { switch(v.getId()){ case R.id.btn1: AlertDialog.Builder builder0 = new AlertDialog.Builder(MainActivity.this); builder0.setIcon(R.drawable.ic_launcher); builder0.setTitle("对话框"); builder0.setMessage("你是准备去打酱油吗?"); //设定积极按钮事件 builder0.setPositiveButton("确认", new DialogInterface.OnClickListener() { public void onClick(DialogInterface arg0, int arg1) { Toast.makeText(MainActivity.this, "点击了--确认", Toast.LENGTH_SHORT).show(); } }); //设定消极按钮事件 builder0.setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface arg0, int arg1) { Toast.makeText(MainActivity.this, "点击了--取消", Toast.LENGTH_SHORT).show(); } }); builder0.create().show(); break; case R.id.btn2: final String[] mItems = { "item0", "item1", "itme2", "item3", "itme4", "item5", "item6" }; AlertDialog.Builder builder1 = new AlertDialog.Builder(MainActivity.this); builder1.setTitle("列表选择框"); builder1.setItems(mItems, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, mItems[which], Toast.LENGTH_SHORT).show(); } }); builder1.create().show(); break; case R.id.btn3: ProgressDialog mProgressDialog = new ProgressDialog(MainActivity.this); mProgressDialog.setIcon(R.drawable.ic_launcher); mProgressDialog.setTitle("第一种进度条框"); //设定进度条风格 mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); //设定进度条最大值 mProgressDialog.setMax(75); mProgressDialog.setButton("确认",new DialogInterface.OnClickListener() { public void onClick(DialogInterface arg0, int arg1) { Toast.makeText(MainActivity.this, "点击了--确认", Toast.LENGTH_SHORT).show(); } }); mProgressDialog.setButton("取消",new DialogInterface.OnClickListener() { public void onClick(DialogInterface arg0, int arg1) { Toast.makeText(MainActivity.this, "点击了--取消", Toast.LENGTH_SHORT).show(); } }); mProgressDialog.show(); break; case R.id.btn4: mProgressDialog = new ProgressDialog(this); mProgressDialog.setTitle("第二种进度条框"); mProgressDialog.setMessage("正在读取中,请稍候。。。"); mProgressDialog.setIndeterminate(true); mProgressDialog.setCancelable(true); mProgressDialog.show(); break; } } }
运行结果:
点击第一个按钮:
点击第二个按钮:
点击第三个按钮:
点击第四个按钮:
自定义Dialog(实例)
在MainActivity中定义一个打开自定义Dialog的按钮
MainActivity.java源代码:
import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity { private Button btn; MyDialog md; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button)findViewById(R.id.btn); md = new MyDialog(this); btn.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub md.show(); } }); }}
activity_main.xml源代码:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/btn" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="显示自定义对话框" /></LinearLayout>
自定义对话框类MyDialog,必须继承Dlalog类。
MyDialog.java源代码:
import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView;public class MyDialog extends Dialog{ TextView text; Button button_yes,button_no; ImageView image; public MyDialog(Context context) { super(context); // TODO Auto-generated constructor stub } protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mydialog); text = (TextView)findViewById(R.id.text); button_yes = (Button) findViewById(R.id.button_yes); button_no = (Button) findViewById(R.id.button_no); image = (ImageView)findViewById(R.id.image); setTitle("自定义的dialog"); text.setText("我是蛋蛋"); image.setImageResource(R.drawable.myimage); button_yes.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub dismiss(); } }); button_no.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub dismiss(); } }); }}
mydialog.xml源代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" > <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="10dp" /> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="5px" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="fill_parent" android:textColor="#336699" /> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="5px" > <Button android:id="@+id/button_yes" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" Yes " android:gravity="center" /> <Button android:id="@+id/button_no" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" No " android:gravity="center" /> </LinearLayout> </LinearLayout></LinearLayout>
运行结果:
这就实现了自定义Dialog,如果想定义更漂亮的Dialog,我们继续美化下去吧,继续努力,学习更多!
Focus on technology, enjoy life!—— QQ:804212028
浏览链接:http://blog.csdn.net/y18334702058/article/details/44624305
0 0
- 步步为营_Android开发课[18]_用户界面之Dialog(对话框)
- 步步为营_Android开发课[13]_用户界面之view(视图)
- 步步为营_Android开发课[14]_用户界面之Layout(布局)
- 步步为营_Android开发课[17]_用户界面之Button(按钮)
- 步步为营_Android开发课[20]_用户界面之Menu(菜单)
- 步步为营_Android开发课[23]_用户界面之ProgressBar(进度条)
- 步步为营_Android开发课[34]_用户界面之Fragment
- 步步为营_Android开发课[15]_用户界面之TextView(文本视图)
- 步步为营_Android开发课[16]_用户界面之EditText(编辑视图)
- 步步为营_Android开发课[19]_用户界面之ListView(列表视图)
- 步步为营_Android开发课[21]_用户界面之Notification(通知栏)
- 步步为营_Android开发课[22]_用户界面之GridView(网格视图)
- 步步为营_Android开发课[24]_用户界面之Checkbox(复选框)
- 步步为营_Android开发课[25]_用户界面之ScrollView(滚动视图)
- 步步为营_Android开发课[26]_用户界面之PopupWindow(弹出窗口)
- 步步为营_Android开发课[27]_用户界面之RatingBar(评分栏)
- 步步为营_Android开发课[28]_用户界面之Spinner(下拉列表)
- 步步为营_Android开发课[29]_用户界面之SeekBar(拖动条)
- 关于系统参数:vm.overcommit_memory 和 vm.overcommit_ratio;
- ScrollView中嵌套ListView高度无法计算问题
- SuperMap iObjects C++结合Qt在QtCreator上的开发环境搭建
- ubuntu安装gnome桌面
- mybatis工作原理1---sqlsession
- 步步为营_Android开发课[18]_用户界面之Dialog(对话框)
- centos subversion 1.8.4-2 install
- 经典SQL语句大全
- YOYO,第一篇波克
- 在Ubuntu中使用终端删除应用程序
- 【操作系统】存储管理
- Eclipse Java EE IDE+tomcat8.0创建web服务并访问
- weblogic 与 tuxedo 互联 wtc
- 数据仓库——物理数据模型