当前位置:  编程技术>移动开发
本页文章导读:
    ▪UILabel 展示 换行        UILabel 显示 换行 UILabel*label;//设置换行label.lineBreakMode = UILineBreakModeWordWrap; label.numberOfLines = 0;换行符还是\n比如NSString * xstring=@"lineone\nlinetwo"记得要把label的高度设置的足够显示多行内容。 ......
    ▪ 用署理模式处理海量高频数据更新        用代理模式处理海量高频数据更新 业务背景: 海量高频数据(如股票实时报价), 更新的规则: 被更新的对象和更新方法都不一样.下面是部分实例代码,最后一个是模拟的数据更新。public inter.........
    ▪ Milestone 改换系统字体       Milestone 更换系统字体 前提:我刷成了MIUI,使用的是“Plus 工具箱”,更换字体和启动动画都在工具箱的“显示/控制设置”里面。(原生的Android也可以使用ITFUNZ出品的“超级工具箱”设置,.........

[1]UILabel 展示 换行
    来源: 互联网  发布时间: 2014-02-18
UILabel 显示 换行
UILabel*label;

//设置换行
label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;

换行符还是\n
比如NSString * xstring=@"lineone\nlinetwo"

记得要把label的高度设置的足够显示多行内容。

    
[2] 用署理模式处理海量高频数据更新
    来源: 互联网  发布时间: 2014-02-18
用代理模式处理海量高频数据更新
业务背景: 海量高频数据(如股票实时报价), 更新的规则: 被更新的对象和更新方法都不一样.


下面是部分实例代码,最后一个是模拟的数据更新。


public interface CommonDefn {
	
	public static int  HIGHLIGHT_BACKGROUND_COLOR_INDEX = 0xff0033ff;
	
	public class DoThingsReturn{
		public Object cmd;
		public Object data;
		public int errCode;
		public DoThingsReturn(Object cmd, Object data, int errorCode) {
			super();
			this.cmd = cmd;
			this.data = data;
			this.errCode = errorCode;
		}
	}
}



/**
 *  used  for updating  the  background of the view while the data changed
 * 
 *
 */
public  interface RefreshHandlerInterface {
		public void updateBackground(Object handlerId, int color); //the proxy updating method
		public Handler getHandler();  //the proxy handler
}


/**
 * 
 * decrease alpha channel value from 255 to 0.
 *
 */
public class ColorRefreshTask extends TimerTask {
	private RefreshHandlerInterface refreshHandler;
	private final static int  DELAY_ONCE =200;
	private final static int TOTAL_RUNTIME = 1500;
	private final static int POWER_16_16 = 16 * 16* 16 * 16 * 16 * 16;
	private final static int INCREASE_ONCE =  0xff / (TOTAL_RUNTIME / DELAY_ONCE);
	private int color;
	private Object id;
	private int startTime;
	private int alphaChannel;
	
	/**
	 * 
	 * @param color ( current background color)
	 * @param id  id of the updated view
	 */
	public ColorRefreshTask(RefreshHandlerInterface refreshHandler, int color, Object id) {
		super();
		Log.d("color", "ready to set color!");
		this.color = color;
		this.id = id;
		this.startTime = 0;
		this.alphaChannel = 0;
		this.refreshHandler = refreshHandler;
	}
	
	public void run(){
		
		int colorComm = color - 0xff000000;  //RGB color value;
		int currColor = 0;
		
		if(startTime < TOTAL_RUNTIME) {
				startTime +=  DELAY_ONCE;
				alphaChannel +=  INCREASE_ONCE;
				currColor = POWER_16_16 *  alphaChannel  + colorComm;
				//Log.d("color", Integer.toHexString(currColor));
				sendMsg(currColor);
				refreshHandler.getHandler().postDelayed(this,DELAY_ONCE);
				
		}
		else {
			sendMsg(currColor <= color ? color : 0 );
			cancel();
		}
		
	
	}
	
	public void startTimer(){
		refreshHandler.getHandler().postDelayed(this,DELAY_ONCE);
	}
	
	
	private void sendMsg(final int currColor){
		final Runnable myUpdateResults = new Runnable() {
	        public void run() {
	        	refreshHandler.updateBackground( id, currColor);
	        }
	    };
	    
	     new Thread() {
            public void run() {
            	refreshHandler.getHandler().post(myUpdateResults);
            }
        }.start();
		
	}
	
	public void stopTimer(){
		  this.cancel();
	}
	
	
}



import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.TextView;

public class TestActivity extends Activity implements RefreshHandlerInterface{
	
	private  Handler  _messageHandler = new Handler();
	
	@Override
	public Handler getHandler() {
		return _messageHandler;
	}
	


	@Override
	public void updateBackground(Object handlerId, int color) {
		if(!( handlerId instanceof CommonDefn.DoThingsReturn)) {
			return;    //invalid parameter
		}
		else {
			
			   
				TextView  current = (TextView)(((CommonDefn.DoThingsReturn)handlerId).data);
				   if(current.getVisibility() != View.VISIBLE) {
					   return;           //no need to update  for the view
				   }
					if(color<=0) {
						current.setBackgroundDrawable(null);
						current.setText(((CommonDefn.DoThingsReturn)handlerId).cmd.toString());
					}
					else {
						current.setBackgroundColor( color);
					}
					current.postInvalidate();
		}
		
	}
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
       
        final TextView tv = (TextView)findViewById(R.id.txtview);
        
        
        new Thread() {
        	  java.util.Random rand =  new java.util.Random();
        	  long lastUpdate = System.currentTimeMillis();
        	 
		          public void run() {
		            while(!Thread.interrupted() || !TestActivity.this.isFinishing()) {
		                //模拟高频更新数据
		            	if( System.currentTimeMillis() - lastUpdate < 2000l)  { //设置两次动画的最少间隔时间
		            		continue;
		            	}
		            	else 
		            		lastUpdate = System.currentTimeMillis();
		            	CommonDefn.DoThingsReturn  updateWrapper = new CommonDefn.DoThingsReturn(String.valueOf(rand.nextInt()) , tv,0);
			        	ColorRefreshTask refresh = new ColorRefreshTask(TestActivity.this,CommonDefn.HIGHLIGHT_BACKGROUND_COLOR_INDEX, updateWrapper);
		        		_messageHandler.postDelayed(refresh, 200);  //ready to for the current updating
		        		
		        		
		            }
		          }
		      }.start();
       		
        
        
     
    }
}



这也也打包了,需要的可以看一下。

1 楼 sungod 2010-12-03  
谢谢了,下来看看注释再多点就完美了。
2 楼 Coding.Ghost 2010-12-12  
好吧.我承认.我看不太懂..

    
[3] Milestone 改换系统字体
    来源: 互联网  发布时间: 2014-02-18
Milestone 更换系统字体

前提:我刷成了MIUI,使用的是“Plus 工具箱”,更换字体和启动动画都在工具箱的“显示/控制设置”里面。(原生的Android也可以使用ITFUNZ出品的“超级工具箱”设置,操作方法类似)

 

    这个很简单,先下载所需要的字体压缩包,解压后放到SD卡的任意位置(你应该能记住,比如我就放在:/sdcard/EwinLive/fonts)。可以放置多个字体文件夹,最好不要包含中文。

 

 

    打开“Plus 工具箱” -> “显示/控制设置”->"系统字体更换",按菜单键,选择“更改字体目录”,输入您放置字体文件夹的目录(比如:/sdcard/EwinLive/fonts)

 

 

    您可以先预览一下字体,点击“更换字体”,重启手机就OK了。

 

 

 

 

附送系统字体:

(deafult.rar是系统默认字体)


    
最新技术文章:
▪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