当前位置:  编程技术>移动开发
本页文章导读:
    ▪代码增添菜单        代码添加菜单 import android.app.Activity; import android.os.Bundle; import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; /** * Class which shows how to handle menu item selection * .........
    ▪ 当String过长时亟需根据可显示的宽度来截取String        当String过长时需要根据可显示的宽度来截取String 当你开发的时候,也许你会遇到这样的一个问题:只有给你100px的宽度显示文件名字时,就必须考虑但文件名的长度超过100px时如何处理,.........
    ▪ 防止事件以致的oncreate的多次调用       防止事件导致的oncreate的多次调用 <activity android:name=".Main" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden"> public void onConfigurationChanged(Configuration newConfig) { .........

[1]代码增添菜单
    来源: 互联网  发布时间: 2014-02-18
代码添加菜单
import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

/**
 * Class which shows how to handle menu item selection
 *
 * @author FaYnaSoft Labs
 */
public class Main extends Activity {
	private static final int OK_MENU_ITEM = Menu.FIRST;
	private static final int SAVE_MENU_ITEM = OK_MENU_ITEM + 1;
	private static final int BACK_MENU_ITEM = SAVE_MENU_ITEM + 1;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu){
		menu.add(0, OK_MENU_ITEM, 0, "Ok");
		menu.add(0, SAVE_MENU_ITEM, 0, "Save");
		menu.add(0, BACK_MENU_ITEM, 0, "Back");
		return super.onCreateOptionsMenu(menu);
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item){
		switch (item.getItemId()) {
		case OK_MENU_ITEM:
			showMsg("Ok");
			break;
		case SAVE_MENU_ITEM:
			showMsg("Save");
			break;
		case BACK_MENU_ITEM:
			showMsg("Back");
			break;
		}
		return super.onOptionsItemSelected(item);
	}

	private void showMsg(String msg) {
		Toast toast = Toast.makeText(Main.this, msg, Toast.LENGTH_LONG);
		toast.setGravity(Gravity.CENTER, toast.getXOffset() / 2, toast.getYOffset() / 2);
		toast.show();
	}

}

 


    
[2] 当String过长时亟需根据可显示的宽度来截取String
    来源: 互联网  发布时间: 2014-02-18
当String过长时需要根据可显示的宽度来截取String
当你开发的时候,也许你会遇到这样的一个问题:只有给你100px的宽度显示文件名字时,就必须考虑但文件名的长度超过100px时如何处理,也许会自己去计算100px可以显示多少个字母,但在android里显示的字符是不等宽的(也就说L要比l占更多的像素),并且当显示的不是语言不是English,而是汉语的字时,显然用这种方法是不可以满足的,我的朋友找到了一种简单的方法可以处理这样的问题:

原始方法:
String displayname = “abcedhkkjjll汉化”;
if (displayname.length() > 15) { String temp =
			 displayname.substring(0, 15) + "..."; canvas.drawText(temp, 0,
			  temp.length(), xPos, yPos + h + 10, tPaint); } else {
			  canvas.drawText(displayname, xPos, yPos + h + 10, tPaint); }
			 


改善方法:
String displayname = “呵呵呵呵呵呵呵呵呵呵”;
			int count = tPaint.breakText(displayname, true, 100f, null);

			System.out.println(" ImageGallery breakText count=" + count);
			if (count < displayname.length()) {
				String temp = displayname.substring(0, count) + "...";
				canvas.drawText(temp, xPos, yPos + h + 10, tPaint);
			} else {
				canvas.drawText(image.getDisplayName(), xPos, yPos + h + 12,
						tPaint);
			}
1 楼 hhww0101 2010-06-30  
这样你还得根据Paint对象来判断
2 楼 hhww0101 2010-06-30  
如果我要是在Widget中,没办法获取Paint对象怎么办?

    
[3] 防止事件以致的oncreate的多次调用
    来源: 互联网  发布时间: 2014-02-18
防止事件导致的oncreate的多次调用
 <activity android:name=".Main"
                  android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
public void onConfigurationChanged(Configuration newConfig) {

		super.onConfigurationChanged(newConfig);
}

 现在笔者正在moto702上测试游戏demo,突然发现滑盖会导致当前Activity多次调用oncreate事件。由于游戏的surfaceview是这里初始化的,所以多次的调用一定会给游戏本身带来多次的初始化。怎么解决呢 在AndroidManifest.xml中修改如上xml的内容android:configChanges="orientation|keyboardHidden"并且在当前Activity中重载方法onConfigurationChanged,有需要的可以在方法中实现自己的功能。如:

/*
		 * 
		 * if (this.getResources().getConfiguration().orientation ==
		 * Configuration.ORIENTATION_LANDSCAPE) {
		 * 
		 * }
		 * 
		 * else if (this.getResources().getConfiguration().orientation ==
		 * Configuration.ORIENTATION_PORTRAIT) {
		 * 
		 * }
		 */

  好了 多次调用的问题就这样迎刃而解了~


    
最新技术文章:
▪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的屏幕截...
网络技术 iis7站长之家
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


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

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

浙ICP备11055608号-3