android 自定义dialog
16lz
2021-01-23
先上效果图:
dialog类:
package com.yqy.yqy_dialogtest;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.View;import android.widget.Button;public class MyDialog extends Dialog implements android.view.View.OnClickListener{Context context;public MyDialog(Context context, int theme) {super(context, theme);this.context = context;}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.mydialog);//布局//TextView tv_title = (TextView) findViewById(R.id.tv_title);//TextView tv_content = (TextView) findViewById(R.id.tv_content);Button btn_yes = (Button) findViewById(R.id.btn_yes);Button btn_no = (Button) findViewById(R.id.btn_no);btn_yes.setOnClickListener(this);btn_no.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btn_yes:onClose();break;case R.id.btn_no:onClose();break;default:break;}}/** * 关闭此dialog方法 */private void onClose() {this.dismiss();}}
main。java
package com.yqy.yqy_dialogtest;import android.app.Activity;import android.app.Dialog;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btn_show = (Button) findViewById(R.id.btn_show);btn_show.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {Dialog dialog = new MyDialog(MainActivity.this, R.style.dialog);dialog.show();}});}@Overridepublic 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;}}
styles.xml
<style name="dialog"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <item name="android:backgroundDimEnabled">true</item> </style>
更多相关文章
- Android MainActivity如何加载BaseActivity的布局
- Android Layout Tricks #1(Android 布局技巧1)
- Android之Fragment界面布局实例
- Android之布局onClick属性写法规则
- Android studio 页面布局无法显示问题
- Android 动态布局 (代码布局)
- android 圆角布局