zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android入门之AlertDialog

Android入门 AlertDialog
2023-09-14 08:56:50 时间
Button android:id="@+id/Button01" android:layout_height="wrap_content" android:text="非Layout型对话框" android:layout_width="fill_parent" /Button   
Button android:id="@+id/Button02" android:layout_height="wrap_content" android:text="Layout型对话框" android:layout_width="fill_parent" /Button View android:id="@+id/View01" android:layout_width="wrap_content" android:layout_height="wrap_content" /View   

 

下图是使用了Layout的对话框,可以自定义控件,实现更复杂的对话框

dialoglayout.xml的源码:


        android:layout_marginRight="20dip" android:textAppearance="?android:attr/textAppearanceMedium" android:id="@+id/edtInput"/   

package com.ceac.deng;


import android.support.v7.app.ActionBarActivity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.Toast;
import android.widget.Chronometer.OnChronometerTickListener;




public class MainActivity extends ActionBarActivity {


private Chronometer chronometer;
private Button stopButton;
private Button startButton;

private Button button;
private Button button2;
private Button button3;
private Button button4;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        findView();
        
        chronometer.setBase(SystemClock.elapsedRealtime());
//        chronometer.setFormat("已经用了多少时间:  %s");
        chronometer.start();
        
        chronometer.setOnChronometerTickListener(new OnChronometerTickListener() {

@Override
public void onChronometerTick(Chronometer chronometer) {
// TODO Auto-generated method stub
if (SystemClock.elapsedRealtime() - chronometer.getBase() = 100000)
{
chronometer.stop();
}
}
});
        
        setListenner();
    }


    /**
     * findView
     */
    private void findView()
    {
    chronometer = (Chronometer) findViewById(R.id.chronometer1);
    stopButton = (Button) findViewById(R.id.stop);
    startButton = (Button) findViewById(R.id.start);
   
    button = (Button) findViewById(R.id.button1);
    button2 = (Button) findViewById(R.id.button2);
    button3 = (Button) findViewById(R.id.button3);
    button4 = (Button) findViewById(R.id.button4);
   
   
    }
    
    private void setListenner()
    {
    stopButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
chronometer.stop();
System.out.println("stop chronometer....");
}
});
   
    startButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.start();
System.out.println("start Chronometer....");
}
});
   
    button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
// alertDialog.setIcon(R.drawable.ic_launcher);
// alertDialog.setTitle("系统提示");
// alertDialog.setMessage("带取消 、中立、确定按钮的对话框");
//// alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", listener);
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("系统提示");
builder.setMessage("带取消 、中立、确定按钮的对话框");

//确定
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
showToast("点击了确定的按钮");
}
});

//中立
builder.setNeutralButton("中立", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
showToast("点击了中立按钮");
}
});

//取消
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
showToast("点击了取消按钮");
}
});

builder.show();
}
});
   
   
    }
    
    /**
     * 
     * @param str
     */
    private void showToast(String str)
    {
    Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}


《Android自定义控件开发入门与实战》| 每日读本书 从动画、绘图、视图三方面介绍Android自定义控件相关知识,配以详实的案例讲解每个知识点,既适合系统学习,又可以用于查漏补缺。每日搜罗最具权威专业书籍,更多图书请关注“每日读本书”。