Android Dialog自定义处理类textView文本不显示
来源:互联网 发布:脸歪 知乎 编辑:程序博客网 时间:2024/05/17 05:01
2017年开始了,重新开始自己的工作积累和记录,开年头一篇!
自定义对话框代码类:
package com.customcontrol;import com.R;import android.app.Dialog;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.view.View.OnClickListener;public class CustomDialog extends Dialog implements OnClickListener {private Context _context;/** * 标题 */private String title = "提示";/** * 内容 */private String content = "";/** * 确定按钮 */private Button btnSave;/** * 关闭按钮 */private Button btnClose;/** * 标题 */private TextView txtTitle;/** * 提示内容 */private TextView txtContent;/** * 样式 */private int layout = R.layout.custom_dialog;/** * 视图 */private LayoutInflater inflater;private View view;/** * 自定义监听事件 */private OnCustomDialogListener customDialogListener;/** * 设置标题 * @param title */public void setTitle(String title) {this.title = title;}/** * 设置提示内容 * @param content */public void setContent(String content) {this.content = content;}/** * 设置样式 * @param theme */public void setLayout(int layout) {this.layout = layout;}/** * 监听事件 * @param customDialogListener */public void SetOnCustomDialogListener(OnCustomDialogListener customDialogListener){this.customDialogListener = customDialogListener;}/** * 事件接口 * @author Administrator * */public interface OnCustomDialogListener{public void CustomDialogListener();}protected CustomDialog(Context context, boolean cancelable,OnCancelListener cancelListener) {super(context, cancelable, cancelListener);// TODO Auto-generated constructor stub}public CustomDialog(Context context) {super(context);// TODO Auto-generated constructor stubthis._context = context;}public CustomDialog(Context context, String content) {super(context);// TODO Auto-generated constructor stubthis._context = context;this.content = content;}public CustomDialog(Context context, String title, String content) {super(context);// TODO Auto-generated constructor stubthis._context = context;this.title = title;this.content = content;}public CustomDialog(Context context, int theme){super(context, theme);this._context = context;}public CustomDialog(Context context, int theme, String content){super(context, theme);this._context = context;this.content = content;}public CustomDialog(Context context, int theme, String title, String content) {super(context, theme);// TODO Auto-generated constructor stubthis._context = context;this.title = title;this.content = content;}@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);inflater = (LayoutInflater) _context.getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = inflater.inflate(layout, null);this.setContentView(view);btnSave = (Button)view.findViewById(R.id.btnOk);btnClose = (Button)view.findViewById(R.id.btnClose);txtTitle = (TextView)view.findViewById(R.id.txtDialogTitle);txtContent = (TextView)view.findViewById(R.id.txtDialogContent);btnSave.setOnClickListener(this);btnClose.setOnClickListener(this);txtTitle.setText(title);txtContent.setText(content);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch(v.getId()){case R.id.btnClose:this.cancel();break;case R.id.btnOk:customDialogListener.CustomDialogListener();break;}}}
对话框引用处
CustomDialog dialog = new CustomDialog(this, R.style.customdialog); dialog.SetOnCustomDialogListener(new OnCustomDialogListener() { @Overridepublic void CustomDialogListener() {// TODO Auto-generated method stubJSONObject jsonObj = new JSONObject();try {//点击确定执行自己的方法} catch (JSONException e) {e.printStackTrace();}} }); dialog.setContent("确定执行吗?"); dialog.show();
style代码:
<?xml version="1.0" encoding="utf-8"?><resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="customdialog" parent="android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@color/yellow</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> </style> </resources>
自定义了一个AlertDialog处理类,为了可以自定义样式,之前显示正常的app,在其他设备重试之后,发现不能显示弹框内容,不论内容是设置在初始化代码中还是引用的位置均无效,最终,在布局文件XMl中也不显示,于是猜想应该是文本存在,但是显示上的问题,大胆猜想,在自定义的dialog布局文件中将content的textView的文本颜色设置为黑色解决……
代码如下:
总结: AlertDialog默认背景颜色是白的,里面的文字也是白的,所以看上去就像空的一样!
0 0
- Android Dialog自定义处理类textView文本不显示
- Android文本显示:TextView
- TextView设置文本不显示
- android textview 显示 文本 .txt
- Android显示TextView文本控件
- android textview 文本显示不同颜色
- 【完美解决系列】Android在自定义Dialog中TextView内容显示不全的问题
- Android自定义Dialog显示GridView
- android TextView 不显示文字
- 自定义Android TextView超链接处理
- 关于自定义dialog中textview的显示的问题
- Android 自定义TextView 实现文本间距
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- android ExpandableTextView-自定义可以动态展开/收缩显示长文本的TextView
- 【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
- Js数组排序函数sort()介绍
- Qt for android手机屏幕当鼠标用
- 基础练习 闰年判断
- SAP 笔记
- (七)扩展页面通信
- Android Dialog自定义处理类textView文本不显示
- Java面向对象的四个特征
- php composer 安装及国内源
- Android Matrix 带你掌控雷电
- ANTLR 宝藏入门之路 hello World初认识
- VC++ CreateThread() 创建线程函数
- mysql还原mysqldump导出的数据时出现ERROR at line 660: Unknown command '\"'.
- createjs-easeljs图像按钮闪烁
- 17开年第一篇Activity之间传递List<T> 以及T对象类型数据的方法