0
您好我正在做一个应用程序的所有设备使用显示metrics.i尝试使用下面的代码,但在一些设备,如1024/600,480/800和密度160其工作perfect.but在像四百八十零分之三百二十零密度160文字大小其他一些设备的问题和应用distrubing同时显示images.please任何具有一种想法认为我....如何使用displaymetrics在android的所有设备应用程序
register.class:
public class register extends Activity {
/** Called when the activity is first created. */
float screenHeight,screenWidth,screendensity;
float textsize1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
screenHeight = displaymetrics.heightPixels;
screenWidth = displaymetrics.widthPixels;
screendensity = displaymetrics.densityDpi;
Log.i("screenHeight",""+screenHeight);
Log.i("screenWidth",""+screenWidth);
Log.i("screendensity",""+screendensity);
switch(displaymetrics.densityDpi){
case DisplayMetrics.DENSITY_HIGH:
//set text size
textsize1=10;
break;
case DisplayMetrics.DENSITY_MEDIUM:
//set text size
textsize1=15;
break;
case DisplayMetrics.DENSITY_LOW:
textsize1=8;
//set text size
break;
}
setContentView(R.layout.registerlh);
prntnm=(EditText)findViewById(R.id.parentedit);
prntnm.setTextColor(Color.BLACK);
InputFilter[] FilterArray1 = new InputFilter[1];
FilterArray1[0] = new InputFilter.LengthFilter(20);
prntnm.setFilters(FilterArray1);
RelativeLayout.LayoutParams parentedit1 = (RelativeLayout.LayoutParams) prntnm.getLayoutParams();
parentedit1.height=(int)(50*(screenHeight/600));
parentedit1.width= (int)(300*(screenWidth/1024));
parentedit1.topMargin=(int)(330*(screenHeight/600));
parentedit1.leftMargin=(int)(670*(screenWidth/1024));
}
}
索里我没有得到u.i要在2.2版本上运行起以上所有版本和所有设备的应用程序。 – user1083266
如果是这种情况,那么创建单独的布局文件(布局,布局大,布局xlarge,布局小)也检查此链接http://developer.android.com/guide/practices/screens_support.html和http ://developer.android.com/guide/practices/tablets-and-handsets.html – SKK
thankyou.i完成了整个应用程序使用displaymetrics.i文字大小。使用显示指标任何其他解决方案是在那里显示所有大小的文字 – user1083266