当前位置:  编程技术>移动开发
本页文章导读:
    ▪TextView 跑马灯成效        TextView 跑马灯效果 package ddd.testdd.com;   1、重新封装了TextView    import android.content.Context; import android.util.AttributeSet; import android.widget.TextView;   public class AlwaysMarqueeTextView extends TextView {     pub.........
    ▪ 异步加载进度展示        异步加载进度显示 package com.rcsit.android.mas.email.dialog; import android.app.Activity; import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.DialogInterface.OnCancelListener; import android.os.As.........
    ▪ 更新button下的数字       更新button上的数字 public class CounterButton extends Button{         protected int count=0;         protected final Paint myTextPaint = new Paint();         protected final Paint myCirclePaint = new Paint();         public Cou.........

[1]TextView 跑马灯成效
    来源: 互联网  发布时间: 2014-02-18
TextView 跑马灯效果

package ddd.testdd.com;

 

1、重新封装了TextView 

 

import android.content.Context;

import android.util.AttributeSet;

import android.widget.TextView;

 

public class AlwaysMarqueeTextView extends TextView {

    public AlwaysMarqueeTextView(Context context) {

        super(context);

    }

 

    public AlwaysMarqueeTextView(Context context, AttributeSet attrs) {

        super(context, attrs);

    }

 

    public AlwaysMarqueeTextView(Context context, AttributeSet attrs, int defStyle) {

        super(context, attrs, defStyle);

    }

 

    @Override

    public boolean isFocused() {

        return true;

    }

}

2 在xml中调用

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ddd.testdd.com.alwaysmarqueetextview
android:text="哈哈我的跑马灯程序接下来是歌词呵呵:沉鱼落雁,闭月羞花"
android:focusableintouchmode="true" android:scrollhorizontally="true"
android:marqueerepeatlimit="marquee_forever" android:singleline="true"
android:focusable="true" android:ellipsize="marquee"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:gravity="center|clip_horizontal"/>
</linearlayout>
1 楼 shadow88 2011-08-20  
这个方法是不错,但是如果是由多个组件组合,只有这个获得了焦点,那么其他的事件都不能用了,比如说:我写了个listView,在list item里有textview(跑马灯)还有imageview以及我要点击这个list item进入下一个activity 怎么办呢

    
[2] 异步加载进度展示
    来源: 互联网  发布时间: 2014-02-18
异步加载进度显示
package com.rcsit.android.mas.email.dialog;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.os.AsyncTask;
import android.widget.Toast;

/**
 * 异步加载类
 *
 * @author wanglin(lin3.wang@changhong.com)
 * 2011-5-20下午04:01:02
 */
public abstract class LoadingDialog<Input, Result> extends
  AsyncTask<Input, WSError, Result> {

 private ProgressDialog mProgressDialog;
 protected Activity mActivity;
 private int mLoadingMsg;
 private int mFailMsg;
 private boolean mEnddismiss = true; 
 
 public LoadingDialog(Activity activity, int loadingMsg, int failMsg) {
  this.mActivity = activity;
  this.mLoadingMsg = loadingMsg;
  this.mFailMsg = failMsg;
 }

 public LoadingDialog(Activity activity, int loadingMsg, int failMsg,
   boolean Enddismiss) {
  this.mActivity = activity;
  this.mLoadingMsg = loadingMsg;
  this.mFailMsg = failMsg;
  this.mEnddismiss = Enddismiss;
 }

 /**
  * 用户调用取消时,要做的操作
  */
 @Override
 public void onCancelled() {
  failMsg();
  super.onCancelled();
 }

 @Override
 public void onPreExecute() {
  String title = "";
  String message = mActivity.getString(mLoadingMsg);
  mProgressDialog = ProgressDialog.show(mActivity, title, message, true,
    true, new OnCancelListener() {

     public void onCancel(DialogInterface dialogInterface) {
      LoadingDialog.this.cancel(true);
     }

    });
  super.onPreExecute();
 }

 /**
  * 后台执行,比较耗时的操作都可以放在这里。注意这里不能直接操作UI。
  */
 @Override
 public abstract Result doInBackground(Input... params);

 /**
  * 相当于Handler 处理UI的方式
  */
 @Override
 public void onPostExecute(Result result) {
  super.onPostExecute(result);
  if (!this.mEnddismiss)
   mProgressDialog.dismiss();
  if (result != null) {
   doStuffWithResult(result);
  } else {
   failMsg();
  }
  if (this.mEnddismiss)
   mProgressDialog.dismiss();
 }

 protected void failMsg() {
  Toast.makeText(mActivity, mFailMsg, 2000).show();
 }

 /**
  * Very abstract function hopefully very meaningful name, executed when
  * result is other than null
  * 
  * @param result
  * @return
  */
 public abstract void doStuffWithResult(Result result);

 /**
  * 使用进度条增加用户体验度
  */
 @Override
 protected void onProgressUpdate(WSError... values) {
  Toast.makeText(mActivity, values[0].getMessage(), Toast.LENGTH_LONG)
    .show();
  this.cancel(true);
  mProgressDialog.dismiss();
  super.onProgressUpdate(values);
 }

}

 


    
[3] 更新button下的数字
    来源: 互联网  发布时间: 2014-02-18
更新button上的数字

public class CounterButton extends Button{
        protected int count=0;
        protected final Paint myTextPaint = new Paint();
        protected final Paint myCirclePaint = new Paint();

        public CounterButton(Context context, AttributeSet attrs) {
            super(context, attrs);
            this.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.ic_dialog_email));
            this.myCirclePaint.setARGB(150, 255, 0, 0);
            this.myTextPaint.setARGB(150, 255, 255, 255);

        }

        @Override
        protected void onDraw(Canvas canvas) {
                    if(count!=0){
            canvas.drawCircle((float) (this.getWidth()*.75), (float) (this.getHeight()*.4), this.getHeight()/5, myCirclePaint);
            canvas.drawText(Integer.toString(count), (float) (this.getWidth()*.75), (float) (this.getHeight()*.4), this.myTextPaint);
             }
        }
    }
CounterButton cb=(CounterButton) findViewById(R.id.whateverYouGaveItInXML);
cb.count=SomeNewNumber;
cb.invalidate;


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3