Android Eclipse布局:如何在横向模式下支持多种屏幕尺寸?
如果我想支持多个屏幕尺寸,我会使用小尺寸、普通尺寸、大尺寸和xlarge。这在肖像模式下很好,但在风景模式下不行。例如,如果我在横向modus中为3,2“设备创建布局,那么相同的代码不适用于横向modus中的3,3”设备。因为它在3.3英寸的设备上看起来不是对称的。我做错了什么 正如我所说:我对3,2“和3,3”设备使用相同的代码(RelativeLayout):Android Eclipse布局:如何在横向模式下支持多种屏幕尺寸?,android,eclipse,layout,landscape,Android,Eclipse,Layout,Landscape,如果我想支持多个屏幕尺寸,我会使用小尺寸、普通尺寸、大尺寸和xlarge。这在肖像模式下很好,但在风景模式下不行。例如,如果我在横向modus中为3,2“设备创建布局,那么相同的代码不适用于横向modus中的3,3”设备。因为它在3.3英寸的设备上看起来不是对称的。我做错了什么 正如我所说:我对3,2“和3,3”设备使用相同的代码(RelativeLayout): 为了支持多屏幕,您必须在活动中添加片段。您做了简单的编程。您需要实现片段 为此,请访问此网站并尝试教程 及 在这里你可以
为了支持多屏幕,您必须在活动中添加片段。您做了简单的编程。您需要实现片段 为此,请访问此网站并尝试教程 及 在这里你可以找到碎片的样本
一切都很好。我通过捕捉运行时窗口的高度、宽度和大小来实现 建议如何在没有任何复杂性的情况下进行此操作 1.使用相对布局并维护参考id。 2.正确地将高度或宽度百分比应用于构件。 例如: 在活动句柄UI组件中:
textView.setWidth(getSize(screenWidth, 30));
textView.setHeight(getSize(screenHeight, 13));
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getSize(screenHeight, 6));
public static int getSize(int screenSize, double percentage) {
return (int) ((screenSize * percentage) / 100);
}
WindowManager wm = (WindowManager) context
.getSystemService(context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
DisplayMetrics metrics = new DisplayMetrics();
display.getMetrics(metrics);
int width = metrics.widthPixels;
int height = metrics.heightPixels;
textView.setWidth(getSize(screenWidth, 30));
textView.setHeight(getSize(screenHeight, 13));
textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getSize(screenHeight, 6));
public static int getSize(int screenSize, double percentage) {
return (int) ((screenSize * percentage) / 100);
}