很多时候,我们需要一个自定义的对话框,这个对话框最好是由一个layout.xml的自己设计,
不是由代码敲出来的,这里记录下简单的自定义的对话框。
首先创建一个android工程:
在MainActivity中
package endual.main;
import android.app.Activity;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.os.Bundle;
public class MianActivity extends Activity implements
android.view.View.OnClickListener {
Button btn1 = null;
Button btn2 = null;
Button btn3 = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn1 = (Button) findViewById(R.id.b1);
btn2 = (Button) findViewById(R.id.b2);
btn3 = (Button) findViewById(R.id.b3);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.b1:
break;
case R.id.b2:
case R.id.b3:
new MyDialogs(this).setDisplay();
break;
default:
}
}
// 自定义对话框
class MyDialogs extends Dialog implements android.view.View.OnClickListener {
private Button b1;
private Window window = null;
public MyDialogs(Context context) {
super(context);
}
public void setDisplay() {
setContentView(R.layout.dialog);// 设置对话框的布局
b1 = (Button) findViewById(R.id.clo);
b1.setOnClickListener(this);
setProperty();
setTitle("自定义对话框");// 设定对话框的标题
show();// 显示对话框
}
// 要显示这个对话框,只要创建该类对象.然后调用该函数即可.
public void setProperty() {
window = getWindow();// 得到对话框的窗口.
WindowManager.LayoutParams wl = window.getAttributes();
wl.x = 0;// 这两句设置了对话框的位置.0为中间
wl.y = 180;
wl.alpha = 0.6f;// 这句设置了对话框的透明度
wl.gravity = Gravity.BOTTOM;
window.setAttributes(wl);
}
@Override
public void onClick(View v) {
dismiss();// 取消
}
}
}
创建两个布局文件
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Button
android:id="@+id/b1"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1" />
<Button
android:id="@+id/b2"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button2" />
<Button
android:id="@+id/b3"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button3" />
<Button
android:id="@+id/button4"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
------------------------------------------------------------------
dialog.xml 这个是由我们自己定义的
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android1="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<TextView
android1:layout_width="400px"
android1:layout_height="81dp"
android1:gravity="center"
android1:text="xxxxxxxxxxxxxxxxxxxxxxxx/nnxxxxxxxxxxxxxxxxxx" />
<RadioGroup
android1:id="@+id/radioGroup1"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content" >
<RadioButton
android1:id="@+id/radio0"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:checked="true"
android1:text="RadioButton" />
<RadioButton
android1:id="@+id/radio1"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:text="RadioButton" />
<RadioButton
android1:id="@+id/radio2"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:text="RadioButton" />
</RadioGroup>
<Button
android:id="@+id/clo"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
------------------------------------------
好了,简单的自定义的dialog就创建好,网上还有许多类似的题材,这个demo也是根据人家的资料修改的。
不是由代码敲出来的,这里记录下简单的自定义的对话框。
首先创建一个android工程:
在MainActivity中
package endual.main;
import android.app.Activity;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.os.Bundle;
public class MianActivity extends Activity implements
android.view.View.OnClickListener {
Button btn1 = null;
Button btn2 = null;
Button btn3 = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn1 = (Button) findViewById(R.id.b1);
btn2 = (Button) findViewById(R.id.b2);
btn3 = (Button) findViewById(R.id.b3);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
btn3.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.b1:
break;
case R.id.b2:
case R.id.b3:
new MyDialogs(this).setDisplay();
break;
default:
}
}
// 自定义对话框
class MyDialogs extends Dialog implements android.view.View.OnClickListener {
private Button b1;
private Window window = null;
public MyDialogs(Context context) {
super(context);
}
public void setDisplay() {
setContentView(R.layout.dialog);// 设置对话框的布局
b1 = (Button) findViewById(R.id.clo);
b1.setOnClickListener(this);
setProperty();
setTitle("自定义对话框");// 设定对话框的标题
show();// 显示对话框
}
// 要显示这个对话框,只要创建该类对象.然后调用该函数即可.
public void setProperty() {
window = getWindow();// 得到对话框的窗口.
WindowManager.LayoutParams wl = window.getAttributes();
wl.x = 0;// 这两句设置了对话框的位置.0为中间
wl.y = 180;
wl.alpha = 0.6f;// 这句设置了对话框的透明度
wl.gravity = Gravity.BOTTOM;
window.setAttributes(wl);
}
@Override
public void onClick(View v) {
dismiss();// 取消
}
}
}
创建两个布局文件
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Button
android:id="@+id/b1"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button1" />
<Button
android:id="@+id/b2"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button2" />
<Button
android:id="@+id/b3"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button3" />
<Button
android:id="@+id/button4"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
------------------------------------------------------------------
dialog.xml 这个是由我们自己定义的
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android1="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >
<TextView
android1:layout_width="400px"
android1:layout_height="81dp"
android1:gravity="center"
android1:text="xxxxxxxxxxxxxxxxxxxxxxxx/nnxxxxxxxxxxxxxxxxxx" />
<RadioGroup
android1:id="@+id/radioGroup1"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content" >
<RadioButton
android1:id="@+id/radio0"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:checked="true"
android1:text="RadioButton" />
<RadioButton
android1:id="@+id/radio1"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:text="RadioButton" />
<RadioButton
android1:id="@+id/radio2"
android1:layout_width="wrap_content"
android1:layout_height="wrap_content"
android1:text="RadioButton" />
</RadioGroup>
<Button
android:id="@+id/clo"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
------------------------------------------
好了,简单的自定义的dialog就创建好,网上还有许多类似的题材,这个demo也是根据人家的资料修改的。