Android 自定义对话框(仿iPhoneQQ)

自定义对话框,其实很容易,通过一个布局即可实现,首先我们看一下效果图

Android 自定义对话框(仿iPhoneQQ)_第1张图片

其实这个很简单,下面通过代码说明:


第一步:我们看一下布局文件及效果图

Android 自定义对话框(仿iPhoneQQ)_第2张图片

源码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#FFFFFF"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tv_one"
        android:layout_width="300dip"
        android:layout_height="48dip"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:text="退出"
        android:textSize="20dip"
        android:textStyle="bold" 
        />

    <TextView
        android:id="@+id/tv_two"
        android:layout_width="300dip"
        android:layout_height="65dip"
        android:layout_below="@id/tv_one"
        android:layout_centerHorizontal="true"
        android:gravity="left|center"
        android:padding="10dip"
        android:text="您真的要退出QQ?"
        android:textSize="15dip" 
     android:textStyle="bold"/>
    <Button
        android:id="@+id/confirm"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/tv_two"
        android:layout_below="@+id/tv_two"
        android:layout_marginTop="20dp"
        android:background="@drawable/unipay_drawable_inputbg"
        android:text="确认"
        android:textColor="#3399FF" />

    <Button
        android:id="@+id/cancel"
        android:layout_width="145dip"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/confirm"
        android:layout_alignBottom="@+id/confirm"
        android:layout_alignParentRight="true"
        android:background="@drawable/unipay_drawable_inputbg"
        android:text="取消"
        android:textColor="#3399FF" />

</RelativeLayout>
第二步:创建一个dialog的源码

public class MainActivity extends Activity implements OnClickListener {

	private Button dialog_btn;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		initView();
	}

	private void initView() {//初始化view
		dialog_btn = (Button) findViewById(R.id.dialog_btn);
		dialog_btn.setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		showDialog();
	}
	private void showDialog(){
		AlertDialog.Builder builder = new Builder(this);
		View view = View.inflate(this, R.layout.dialog, null);//这个方法将我们刚刚所定义的布局转成一个view
		AlertDialog dialog = builder.create();//这里创建的是一个没任何内容的dialogue
		dialog.setView(view, 0, 0, 0, 0);//这个方法设置这个view到这个dialogue中,其中四个参数定义的是这个view对象距离此dialogue中 上、下、左、右的距离
		dialog.show();//记住,你通过那个创建的就要用那个来显示
	}
}

这样就完了,转载的话,请注明出处,谢谢!


你可能感兴趣的:(布局,RelativeLayout,移动互联网,对话框,android应用)