关于左边留间隔的问题marginLeft 代码添加也可以,获取屏幕尺寸,然后代码添加控件设置计算出来的长度宽度,还有margin 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把margin值写道dimens.xml文件中,使用value-XXX这样的文件来适配不同屏幕尺寸,每个这样的文件夹下面一个dimens.xml文件 左右各加个View占位,然后用weight和gravity。 如果你能明确比例的话可以用weight属性 这个是我做的一个不同手机屏幕的适配,看一下对你有帮助有 DisplayMetrics displayMetrics = new DisplayMetrics(); this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int screenWidth = displayMetrics.widthPixels; int screenHeight = displayMetrics.heightPixels; System.err.println("打印高:" + screenWidth); System.err.println("打印宽:" + screenHeight); if (screenWidth == 480) { rate = (int) (textsize * (float) screenWidth / 480); rate = (int) (textsize * (float) screenHeight / 800); int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); game_img.measure(w, h); int height = game_img.getMeasuredHeight(); System.out.println("出来" + height); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams( 150, 35); layoutParam.setMargins(70, 0, 0, 0); layoutParams.topMargin = height / 2 + 9; layoutParam.topMargin = height / 2 + 9; game_gjchu.setGravity(Gravity.CENTER); game_gjchu.setLayoutParams(layoutParams); rubberView.setGravity(Gravity.CENTER); rubberView.setLayoutParams(layoutParam); } else if (screenWidth == 1080) { rate = (int) (textsize * (float) screenWidth / 1080 * 1.2); rate = (int) (textsize * (float) screenHeight / 1920 * 1.2); int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); game_img.measure(w, h); int height = game_img.getMeasuredHeight(); System.out.println("出来" + height); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams( 300, 80); layoutParam.setMargins(130, 0, 0, 0); layoutParams.topMargin = height / 2 + 9; layoutParam.topMargin = height / 2 + 9; game_gjchu.setGravity(Gravity.CENTER); game_gjchu.setLayoutParams(layoutParams); rubberView.setGravity(Gravity.CENTER); rubberView.setLayoutParams(layoutParam); } else if (screenWidth == 540) { rate = (int) (textsize * (float) screenWidth / 540 * 1.2); rate = (int) (textsize * (float) screenHeight / 960 * 1.2); int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); game_img.measure(w, h); int height = game_img.getMeasuredHeight(); System.out.println("出来" + height); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams( 150, 40); layoutParam.setMargins(70, 0, 0, 0); layoutParams.topMargin = height / 2 + 9; layoutParam.topMargin = height / 2 + 9; game_gjchu.setGravity(Gravity.CENTER); game_gjchu.setLayoutParams(layoutParams); rubberView.setGravity(Gravity.CENTER); rubberView.setLayoutParams(layoutParam); } else if (screenWidth == 720) { rate = (int) (textsize * (float) screenWidth / 720 * 1.2); rate = (int) (textsize * (float) screenHeight / 1280 * 1.2); int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); game_img.measure(w, h); int height = game_img.getMeasuredHeight(); System.out.println("出来" + height); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams( 200, 60); layoutParam.setMargins(90, 0, 0, 0); layoutParams.topMargin = height / 2 + 9; layoutParam.topMargin = height / 2 + 9; game_gjchu.setGravity(Gravity.CENTER); game_gjchu.setLayoutParams(layoutParams); rubberView.setGravity(Gravity.CENTER); rubberView.setLayoutParams(layoutParam); } else { } game_jinbi.setTextSize(rate); game_shuoming2.setTextSize(rate); game_shuoming.setTextSize(rate); game_gjcishu.setTextSize(rate); game_gjcishu2.setTextSize(rate); } 关于源码下模拟器的分辨率问题。 android STK的问题??? 求助,往android模拟器的sdcard中push文件失败 我人品这么差什么问题都有,求帮助,好人一生平安 读取SDcard任意一个文件的大小的方法 android绘图,怎么实现画布拖动功能,就像地图一样 eclipse 的 android模拟器如何 测试多点缩放呢? 关于全局变量的问题 android exitView控件不能使用 求检测软件耗电百分比,cpu占用率,流量使用百分比的方法 关于微信分享全部内容字数限制的问题 Android TextView显示泰语高度变化显示不全的问题
this.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int screenWidth = displayMetrics.widthPixels;
int screenHeight = displayMetrics.heightPixels; System.err.println("打印高:" + screenWidth);
System.err.println("打印宽:" + screenHeight);
if (screenWidth == 480) {
rate = (int) (textsize * (float) screenWidth / 480);
rate = (int) (textsize * (float) screenHeight / 800);
int w = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
game_img.measure(w, h); int height = game_img.getMeasuredHeight();
System.out.println("出来" + height); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams(
150, 35);
layoutParam.setMargins(70, 0, 0, 0);
layoutParams.topMargin = height / 2 + 9;
layoutParam.topMargin = height / 2 + 9; game_gjchu.setGravity(Gravity.CENTER);
game_gjchu.setLayoutParams(layoutParams); rubberView.setGravity(Gravity.CENTER);
rubberView.setLayoutParams(layoutParam);
} else if (screenWidth == 1080) { rate = (int) (textsize * (float) screenWidth / 1080 * 1.2);
rate = (int) (textsize * (float) screenHeight / 1920 * 1.2);
int w = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
game_img.measure(w, h); int height = game_img.getMeasuredHeight();
System.out.println("出来" + height); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams(
300, 80);
layoutParam.setMargins(130, 0, 0, 0);
layoutParams.topMargin = height / 2 + 9;
layoutParam.topMargin = height / 2 + 9; game_gjchu.setGravity(Gravity.CENTER);
game_gjchu.setLayoutParams(layoutParams); rubberView.setGravity(Gravity.CENTER);
rubberView.setLayoutParams(layoutParam);
} else if (screenWidth == 540) { rate = (int) (textsize * (float) screenWidth / 540 * 1.2);
rate = (int) (textsize * (float) screenHeight / 960 * 1.2);
int w = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
game_img.measure(w, h); int height = game_img.getMeasuredHeight();
System.out.println("出来" + height); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams(
150, 40);
layoutParam.setMargins(70, 0, 0, 0);
layoutParams.topMargin = height / 2 + 9;
layoutParam.topMargin = height / 2 + 9; game_gjchu.setGravity(Gravity.CENTER);
game_gjchu.setLayoutParams(layoutParams); rubberView.setGravity(Gravity.CENTER);
rubberView.setLayoutParams(layoutParam); } else if (screenWidth == 720) { rate = (int) (textsize * (float) screenWidth / 720 * 1.2);
rate = (int) (textsize * (float) screenHeight / 1280 * 1.2);
int w = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
int h = View.MeasureSpec.makeMeasureSpec(0,
View.MeasureSpec.UNSPECIFIED);
game_img.measure(w, h); int height = game_img.getMeasuredHeight();
System.out.println("出来" + height); RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
RelativeLayout.LayoutParams layoutParam = new RelativeLayout.LayoutParams(
200, 60);
layoutParam.setMargins(90, 0, 0, 0);
layoutParams.topMargin = height / 2 + 9;
layoutParam.topMargin = height / 2 + 9; game_gjchu.setGravity(Gravity.CENTER);
game_gjchu.setLayoutParams(layoutParams); rubberView.setGravity(Gravity.CENTER);
rubberView.setLayoutParams(layoutParam); } else { }
game_jinbi.setTextSize(rate);
game_shuoming2.setTextSize(rate);
game_shuoming.setTextSize(rate);
game_gjcishu.setTextSize(rate);
game_gjcishu2.setTextSize(rate); }