Android中怎么自定义弹出对话框

2021/6/28 22:28:26
栏目: 其他类
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章将为大家详细讲解有关Android中怎么自定义弹出对话框,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1、首先新建一个xml文件,这里以设置音效开关为例

myview.xml如下:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBottom="@+id/toggleButton1"        android:layout_alignParentLeft="true"        android:layout_alignParentTop="true"        android:text="@string/voice"        android:textSize="20sp" />    <ToggleButton        android:id="@+id/toggleButton1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentTop="true"        android:layout_toRightOf="@+id/textView1"        android:text="ToggleButton"        android:textOff="OFF"        android:textOn="ON" /></RelativeLayout>

image.png

2、在代码中调用自定义视图

public void setSound(){// 取得自定义View  LayoutInflater layoutInflater = LayoutInflater.from(MainActivity.instance); //MainActivity.instance是在MainActivity.java中定义的,public static MainActivity instance;View myLoginView = layoutInflater.inflate(R.layout.myview, null);
myToggleButton = (ToggleButton)myLoginView.findViewById(R.id.toggleButton1);if(audio_on){
myToggleButton.setChecked(true);
}else{
myToggleButton.setChecked(false);
}
Dialog alertDialog = new AlertDialog.Builder(MainActivity.instance)
.setTitle("设置")
.setView(myLoginView)
.setIcon(android.R.drawable.ic_dialog_info) 
.setPositiveButton("确定",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubif(myToggleButton.isChecked()){
audio_on = true;
}else{
audio_on = false;
}
}
}).
create();
alertDialog.show();
}

关于Android中怎么自定义弹出对话框就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 虚拟主机怎么样实名认证