把项目从4.0 to 2.3兼容与适配的几个小坑

1、AlertDialog初始化问题

<span style="white-space:pre">		</span>AlertDialog dialog = null;
		final View tipView = LayoutInflater.from(this).inflate(
				R.layout.report_dialog, null);
		AlertDialog.Builder builder;
		if(App.SDK_INT > 10){
			builder = new AlertDialog.Builder(this, AlertDialog.THEME_HOLO_LIGHT);
		}else{
			builder = new AlertDialog.Builder(this);
		}
		dialog = builder.setView(tipView).create();

		final AlertDialog myDialog = dialog;

2、webview setting问题

<span style="white-space:pre">		</span>if(App.SDK_INT>=11){
			settings.setDisplayZoomControls(false);
		}else{
		    setZoomControlHide(mWeb); 
		}
setZoomControlHide()
<span style="white-space:pre">		</span>private void setZoomControlHide(WebView mWeb2) {
		// TODO Auto-generated method stub
		Class classType;  
		Field field;  
		
		try {
			classType = WebView.class;  
			field = classType.getDeclaredField("mZoomButtonsController");
			field.setAccessible(true);  
			ZoomButtonsController mZoomButtonsController = new ZoomButtonsController(  
				mWeb2);  
			mZoomButtonsController.getZoomControls().setVisibility(View.GONE); 
			
			try {
				field.set(mWeb2, mZoomButtonsController);
			} catch (IllegalAccessException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IllegalArgumentException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}  
			
		} catch (NoSuchFieldException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}  
	}
	

3、RadioGroup 改用ImageView,用代码实现单选逻辑,反正正常radio在小屏幕溢出,对不齐

4、顺便说一句,2.3的屏幕大多偏小,所以用values-800x480时,值是会从高向低查询。比如854x480没有设置,那么这种机型会适配800x480,而不是1280x720。

5、之前习惯用屏幕的百分比来给界面做适配,但是由于虚拟按键问题,应该多用权重。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值