2.5.3 使用alertDialog创建自定义对话框
16lz
2021-12-04
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="center" android:orientation="vertical" > <Button android:id="@+id/btnColor" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="自定义颜色列表" /> <Button android:id="@+id/btnLogin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="登陆框" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="TextView" /></LinearLayout>
package com.moon.hello2;import java.util.ArrayList;import java.util.Calendar;import java.util.HashMap;import java.util.List;import java.util.Map;import android.R.anim;import android.R.bool;import android.R.integer;import android.animation.AnimatorSet.Builder;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.content.DialogInterface;import android.content.res.TypedArray;import android.database.DataSetObserver;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.widget.GridLayout;import android.view.Gravity;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.view.View.OnClickListener;import android.view.ViewGroup.LayoutParams;import android.view.animation.AnimationUtils;import android.widget.AbsListView;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.AdapterView.OnItemSelectedListener;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.DatePicker;import android.widget.ExpandableListAdapter;import android.widget.ExpandableListView;import android.widget.Gallery;import android.widget.GridView;import android.widget.ImageSwitcher;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.ProgressBar;import android.widget.RatingBar;import android.widget.SimpleAdapter;import android.widget.RatingBar.OnRatingBarChangeListener;import android.widget.SeekBar;import android.widget.DatePicker.OnDateChangedListener;import android.widget.SeekBar.OnSeekBarChangeListener;import android.widget.TabHost;import android.widget.TextView;import android.widget.TimePicker;import android.widget.TimePicker.OnTimeChangedListener;import android.widget.ViewSwitcher.ViewFactory;public class MainActivity extends Activity { private final String[] colorStrings = new String[]{"红色","绿色","黄色"}; private static final int DIALOG_SC = 1; private final boolean[] checkStatus = new boolean[]{true, true, false}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.activity_main); Button button = (Button)findViewById(R.id.btnColor); List<Map<String, Object>> list = new ArrayList<Map<String,Object>>(); for (int i = 0; i < colorStrings.length; i++) { Map<String, Object> newMap = new HashMap<String, Object>(); newMap.put("color", colorStrings[i]); newMap.put("img", R.drawable.ic_launcher); list.add(newMap); } final SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.simple, new String[]{"img","color"}, new int[]{R.id.listIcon,R.id.listText}); final TextView textView = (TextView)findViewById(R.id.textView1); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setAdapter(adapter, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int pos) { // TODO Auto-generated method stub textView.setText("选择了"+colorStrings[pos]); } }); builder.setTitle("自定义dialog"); builder.setIcon(R.drawable.ic_launcher); builder.create().show(); } }); //创建一个登陆框dialog final GridLayout loginGridLayout = (GridLayout)this.getLayoutInflater().inflate(R.layout.login, null); Button loginButton = (Button)findViewById(R.id.btnLogin); loginButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub android.app.AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setIcon(R.drawable.ic_launcher); builder.setView(loginGridLayout); builder.setPositiveButton("登陆", null); builder.setNegativeButton("取消", null); builder.create().show(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; }}
比较有意思的是inflater在英文中是充气泵的意思, inflate是充气
更多相关文章
- android Sql Login
- AndroidResource
- AndroidResource
- QQ登陆及分享
- android 中文粗体
- AndroidResource
- Android(安卓)入门必须知道的 英文缩写
- 【1510-14】大规模登陆界面
- android技巧