用最简单的方法去实现android中的一些提示

看个效果

一,加载框代码

二,对话框代码

三,提示框代码

===============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

用最简单的方法去实现android中的一些提示的相关文章

用简单的方法,在android上实现手势放大缩小功能

package com.example.eventtest; import java.util.ArrayList; import android.os.Bundle; import android.app.Activity; import android.gesture.GestureOverlayView; import android.gesture.GestureOverlayView.OnGestureListener; import android.graphics.Point; i

简单的方法来统计文件中单词和各种标点符号个数

此小程序使用最基本的方法来统计文本中英文单词的个数,想法也比较简单: (1)从文本中文本读取内容,使用BufferedReader类每次读取一行并添加到StringBuffer类型变量中, 最后StringBuffer类型变量即为文本的内容,如StringBuffer sb: (2)把sb的内容全部转化成小写字母(或大写字母): (3)统计文件中各种标点符号个数: (4)把所有标点符号统一替换成一种标点符号,如替换成逗号 (5)替换后的文本使用字符串的分割函数来获取返回的字符串数组的长度,此长度

辛星和您用更简单的方式去实现PHP中的验证码

说实话,提到验证码我想大家都不会陌生,确实,验证码还是挺常见的,现在搜索一下PHP的验证码类简直是海量的数据,那我们今天就来实现一个自己的验证码把,不过它比较简单,这也是我说的用更简单的方式去实现一个验证码. 总的来说分成两步,第一步就是先实现一个验证码,第二步就是通过这个验证码来进行验证,我们先看一下如何去实现这个验证码,当然这里需要用到gd库的知识,请看下面的代码示例: <?php //首先要开启session session_start(); //说明这是一张图片 header("C

模版方法模式在 android中使用

模版方法模式(Template Method): 模版方法模式是类的行为模式.提供一个抽象类,把一部分的逻辑以具体方法或构造子形式实现,然后声明一些抽象方法,迫使子类实现剩余的逻辑代码.不同的子类可以以不同的方式实现这些抽象方法,所以子类实现的剩余逻辑是不同的.另外,模版方法模式是基于继承机制代码复用的技术,它的结构和用法也是面向对象设计的核心. 模版方法模式的简略类图结构如下: 模版方法模式涉及到的几个角色: 1.抽象模版角色 a.声明一个或多个抽象方法,供子类来具体实现,这些方法为"基本方法

【转】 Android中退出程序的提示框

原文网址:http://blog.csdn.net/jumping_android/article/details/7571309 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { dialog(); return true; } return true; } prot

Android中黄色警告提示消强迫症

写代码的时候,不希望整个工程中到处都是黄色的感叹号,那样的话,打开项目,让人感觉整个项目一点都不清晰. 所以写此贴,将平时碰到的警告全部总结集中起来. 1:Handler // This Handler class should be static or leaks might occur:IncomingHandler @SuppressLint("HandlerLeak") private Handler handler = new Handler() { @Override pu

Android中的meminfo,cpuinfo

1. 简介: 熟悉Linux的朋友都知道,在Linux中,meminfo,cpuinfo可以作为命令来使用,用于显示内存信息和cpu信息,其实,这两个命令分别对应于/proc/meminfo和/proc/cpuinfo两个文件. 既然Android是基于Linux kernel的,所以,也同样有这两个文件,只是,在Android中,没有提供对应的命令而已,不过,我们仍然可以通过cat命令来显示这两个文件的内容: cat /proc/meminfo cat /proc/cpuinfo 2. 实例:

linux中内存泄漏的检测(一)最简单的方法

什么是内存泄漏 内存泄漏是指程序动态申请的内存在使用完后没有释放,导致这段内存不能被操作系统回收再利用. 例如这段程序,申请了4个字节的空间但没有释放,有4个字节的内存泄漏. #include <iostream> using namespace std; int main() { int *p = new int(1); cout <<*p<<endl; return 0 } 随着时间的推移,泄漏的内存越来越多,可用的内存越来越少,轻则性能受损,重则系统崩溃. 一般情

Android中Serializable和Parcelable序列化对象详解

学习内容: 1.序列化的目的 2.Android中序列化的两种方式 3.Parcelable与Serializable的性能比较 4.Android中如何使用Parcelable进行序列化操作 5.Parcelable的工作原理 6.相关实例 1.序列化的目的 (1).永久的保存对象数据(将对象数据保存在文件当中,或者是磁盘中 (2).通过序列化操作将对象数据在网络上进行传输(由于网络传输是以字节流的方式对数据进行传输的.因此序列化的目的是将对象数据转换成字节流的形式) (3).将对象数据在进程