看个效果
一,加载框代码
二,对话框代码
三,提示框代码
===============1
package com.idonoo.frame.widget; import android.app.ProgressDialog; import android.content.Context; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.TextView; import com.idonoo.frame.R; /** * 对比一下,使用黑色背景的还是蛮多的. * @author intbird * */ public class ProgressDialogBar extends ProgressDialog { private String message; public ProgressDialogBar(Context context) { super(context, R.style.CustomDialog); } public ProgressDialogBar(Context context, String message) { super(context, R.style.CustomDialog); this.message = message; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.custom_progress_dialog); } @Override public void show() { show(message); } public void show(String message) { super.show(); if (!TextUtils.isEmpty(message)) { TextView text = (TextView) findViewById(R.id.tv_message); text.setVisibility(View.VISIBLE); text.setText(message); } } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linear_root" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/dialog_bg" android:gravity="center" android:minHeight="98dp" android:minWidth="98dp" android:orientation="horizontal" > <ProgressBar android:id="@+id/progress" android:layout_width="56dp" android:layout_height="56dp" android:layout_gravity="center" android:layout_margin="15dp" android:indeterminateDrawable="@drawable/progress_dialog" android:indeterminateDuration="1" android:max="100" android:progress="0" /> <TextView android:id="@+id/tv_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="30dp" android:text="" android:textColor="#FFFFFF" android:textSize="18sp" android:visibility="gone" /> </LinearLayout>
============2
package com.idonoo.shareCar.widget; import com.idonoo.shareCar.R; import android.app.Dialog; import android.app.AlertDialog.Builder; import android.content.Context; import android.os.Bundle; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.WindowManager.LayoutParams; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; /** * 对话框的样式params需要注意; * @author intbird * */ public class MyAlertDialog extends Dialog { private View view; private TextView tvTitle,tvContent; private EditText edContent; private Button btnYes,btnCacel; public enum AlertStyle{ styleSingle,styleNoTitle,styleInput,styleTwoButton}; private Context context; public MyAlertDialog(Context context) { super(context,android.R.style.Theme_Translucent_NoTitleBar); this.context = context; initView(R.layout.layout_alert_dialog); } private void initView(int layoutId){ view= LayoutInflater.from(getContext()).inflate(layoutId, null); tvTitle=((TextView)view.findViewById(R.id.title)); tvContent=((TextView)view.findViewById(R.id.content)); edContent=(EditText)view.findViewById(R.id.ed_content); btnYes=(Button) view.findViewById(R.id.btn_yes); btnCacel=(Button) view.findViewById(R.id.btn_no); } public void initText(String title,String content) { tvTitle.setText(title); tvContent.setText(content); show(); } public MyAlertDialog(Context context,AlertStyle style){ this(context); switch (style) { case styleSingle: initView(R.layout.layout_alert_dialog_single); break; case styleNoTitle: initView(R.layout.layout_alert_dialog_notitle); break; case styleInput: initView(R.layout.layout_alert_dialog_input); break; case styleTwoButton: initView(R.layout.layout_alert_dialog); break; } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(view); } public void setTextYes(String text){ btnYes.setText(text); } public void setTextNo(String text){ btnCacel.setText(text); } public EditText getEditText(){ return edContent; } public void setEditText(EditText edContent){ this.edContent=edContent; } @Override public void show() { super.show(); } public void show(String title,String content,View.OnClickListener yes){ initText(title, content); btnYes.setOnClickListener(yes); } public void show(String title,String content,View.OnClickListener yes,View.OnClickListener cacel){ initText(title, content); btnYes.setOnClickListener(yes); btnCacel.setOnClickListener(cacel); } public void show(String title,View.OnClickListener yes,View.OnClickListener cacel){ tvTitle.setText(title); btnYes.setOnClickListener(yes); btnCacel.setOnClickListener(cacel); show(); } @Override public void dismiss() { super.dismiss(); } @Override public void cancel() { super.cancel(); } public interface InputCallBack{ public void inputCallBack(EditText edit); } }
=======3
protected void showToast(int res){ //all fragments should be initUI(); <span style="white-space:pre"> </span>String s=getResources().getString(res); <span style="white-space:pre"> </span>showToast(s); } protected void showToast(CharSequence s){ if (!TextUtils.isEmpty(s.toString())){ <span style="white-space:pre"> </span>try{ <span style="white-space:pre"> </span>if(toast!=null) <span style="white-space:pre"> </span>toast.cancel(); <span style="white-space:pre"> </span>toast=new Toast(getActivity()); <span style="white-space:pre"> </span>}catch(Exception ex){ <span style="white-space:pre"> </span>toast=null; <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span> <span style="white-space:pre"> </span>if(toast==null) <span style="white-space:pre"> </span>return ; <span style="white-space:pre"> </span>View view=getActivity().getLayoutInflater().inflate(R.layout.toasts, null); <span style="white-space:pre"> </span>TextView text=(TextView) view.findViewById(R.id.tv_toast); <span style="white-space:pre"> </span>text.setText(s.toString()); <span style="white-space:pre"> </span> <span style="white-space:pre"> </span>toast.setView(view); <span style="white-space:pre"> </span>toast.setDuration(Toast.LENGTH_SHORT); <span style="white-space:pre"> </span>toast.show(); } }
时间: 2024-11-08 10:40:45