您的位置:首页 > 其它

很漂亮的自定义的AlertDialog的对话框

2017-08-11 17:54 106 查看
请尊重原创;过后会上传源码,或者联系我

看图效果

不多说,上代码

public void init(){

final View textEntryView=factory.inflate(R.layout.dialog_layout,null);
dlg=new AlertDialog.Builder(MainActivity.this).setView(textEntryView).create();
dlg=new AlertDialog.Builder(MainActivity.this,R.style.MyDialog).create();
dlg.setView(mLayout,0,0,0,0);
dlg.show();
TextView tvvolam= (TextView)mLayout.findViewById(R.id.volem);
tvvolam.setText("4510");
//        EditText secondPwd = (EditText) mLayout.findViewById(R.id.etvolam);
//        final String inputPwd = secondPwd.getText().toString();
canel= (Button) mLayout.findViewById(R.id.dialog_button_cancel);
ok= (Button) mLayout.findViewById(R.id.dialog_button_ok);
canel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dlg.dismiss();
makeWindowLight();
}
});
ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText secondPwd = (EditText) mLayout.findViewById(R.id.etvolam);
final String inputPwd = secondPwd.getText().toString();
if("".equals(inputPwd)){
Toast.makeText(MainActivity.this,"不能为空",Toast.LENGTH_LONG).show();
}else{
Toast.makeText(MainActivity.this,"提交成功",Toast.LENGTH_LONG).show();
dlg.dismiss();
makeWindowLight();
}
// dlg.dismiss();
//makeWindowLight();
}
});
}

很简洁的代码

在sytle应用

<style name="MyDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@drawable/dialog</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>

可以随时修改各种的文字大小信息

三、归纳

可以看到整篇文章的核心就是
public int getIdentifier(String name, String defType, String defPackage)


掌握了这个方法,对于修改 AlertDialog 就不在话下,当然此方法的用处在这里只能算的上是冰上一脚。

需要对 AlertDialog 的各个控件熟练运用就必须知道系统的alert_dialog.xml定义了那些 View,alert_dialog.xml的路径是
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  AlertDialog