android——标记一下,listView内部控件点击,自定义Toast
来源:互联网 发布:jsp时间轴数据库读取 编辑:程序博客网 时间:2024/06/06 00:56
近一个月在做一个小项目,现在总结一下遇到的一些问题,都是小问题只是标记一下,一些小细节。
1.Toast显示问题,开始测试手机是ivvi CK3-01 手机,吐司能正常显示,后来改用魅蓝3s手机问题就出现了,不显示吐司了,查了资料才发现不仅是魅蓝3s手机,之前有华为3c也有这问题,那么问题来了,不知道什么时候就会有什么手机的吐司不显示了,那么很多交互提示信息就不显示了,极度影响用户体验,所以就想到能不能自定义一个Toast,结果大部分是在Toast的基础上更改显示效果,这样根本没有解决问题,后来发现这篇文章http://www.cnblogs.com/andgoo/p/3157691.html
完美解决我的问题,但是有一点点,他没贴上一个style文件,下面直接贴上我改的代码:
package view;import com.ppl.sxgtqx.R;import android.app.Activity;import android.content.Context;import android.os.Handler;import android.util.Log;import android.view.Gravity;import android.view.View;import android.view.ViewGroup;import android.view.animation.AlphaAnimation;import android.view.animation.Animation;import android.widget.LinearLayout;import android.widget.TextView;public class MyToast { private static final int ANIMATION_DURATION = 1000; private static final String TAG = "MyToast"; private int HIDE_DELAY = 5000; private View mContainer; private int gravity = Gravity.CENTER; private TextView mTextView; private Handler mHandler; private AlphaAnimation mFadeInAnimation; private AlphaAnimation mFadeOutAnimation; public MyToast(Context context,int hIDE_DELAY, int gravity) { super(); ViewGroup container = (ViewGroup) ((Activity) context) .findViewById(android.R.id.content); View v = ((Activity) context).getLayoutInflater().inflate( R.layout.my_toast, container); HIDE_DELAY = hIDE_DELAY; this.gravity = gravity; init(v); } private void init(View v) { mContainer = v.findViewById(R.id.mbContainer); mContainer.setVisibility(View.GONE); mTextView = (TextView) v.findViewById(R.id.mbMessage); mFadeInAnimation = new AlphaAnimation(0.0f, 1.0f); mFadeOutAnimation = new AlphaAnimation(1.0f, 0.0f); mFadeOutAnimation.setDuration(ANIMATION_DURATION); mFadeOutAnimation .setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { mContainer.setVisibility(View.GONE); } @Override public void onAnimationRepeat(Animation animation) { } }); mHandler = new Handler(); } public void show(String message) { mContainer.setVisibility(View.VISIBLE); Log.e(TAG, "set Visible"); ((LinearLayout) mContainer).setGravity(gravity | Gravity.CENTER_VERTICAL); Log.e(TAG, "set gravity"); mTextView.setText(message); Log.e(TAG, "set setText"); mFadeInAnimation.setDuration(ANIMATION_DURATION); mContainer.startAnimation(mFadeInAnimation); mHandler.postDelayed(mHideRunnable, HIDE_DELAY); } private final Runnable mHideRunnable = new Runnable() { @Override public void run() { mContainer.startAnimation(mFadeOutAnimation); } };}``
0 0
- android——标记一下,listView内部控件点击,自定义Toast
- Android ListView:实现item内部控件的点击事件
- Android Toast进阶——自定义Toast
- Android—自定义Android Toast
- android 自定义ListView实现下拉刷新、分页加载、点击事件——自定义控件学习(七)
- ListView内部控件的点击事件
- android 解决listview 内部有按键控件时,listview无法点击
- Android自定义点击带声音的控件TextView/Button/ListView
- iOS开发系列之常用自定义控件开发集—Android的Toast控件开发
- Android自定义控件之自定义Toast
- Android 自定义ListView控件
- Android——ListView与内部item点击抢焦点问题
- Android 实现ListView 内部的点击事件
- Android—点击自定义dialog窗体的控件销毁自己
- android应用程序中使用自定义Toast控件
- [android自定义控件]带有图片的Toast
- 微信小程序自定义控件--toast(仿Android)
- Android UI基础——Toast控件
- 第二章 solr数据库mysql更新数据
- find . -name classes -print0 |xargs -0 rm -rf
- 常用命令
- 在本地用命令行创建一个git仓库,并推送到远程
- FragmentStatePagerAdapter 与 FragmentPagerAdapter 区别
- android——标记一下,listView内部控件点击,自定义Toast
- memset使用注意
- 字符串逆序输出
- 关于java异常处理
- 跨域解决方案和实践
- intent传值问题
- 建造者模式
- 【官网原文】Android 5.0 行为变更
- oracle 每日一题-LONG数据类型