我正在制作公交计划应用程序。我在主要活动中有很多按钮。我的手机有一个高清屏幕,因此我为该屏幕分辨率制作了按钮。
如何使按钮的位置适合每个屏幕分辨率?
答案 0 :(得分:1)
你可以使用GridView
...它会让你有很多按钮在屏幕上均匀分布。
你可以按照这些教程......
Android GridView Layout Tutorial
答案 1 :(得分:1)
如果要通过xml布局创建按钮,则使用dip(与密度无关的像素)而不是px(普通像素)对它们进行大小调整。如果您从资源中提取这些图像,那么您必须拥有项目结构中相应文件夹中所有屏幕分辨率的资源(hdpi,mdpi,ldpi等) - 但这会消耗相当多的内存。
答案 2 :(得分:0)
您可以将GridView用于此目的。
答案 3 :(得分:0)
如果您不想使用GridView,可以使用线性垂直方向作为主布局和线性布局,其中包含“水平”方向的按钮作为行。 要使按钮在不同分辨率上适合相同的空间,可以使用layout_weigth属性。
像这样的东西
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<Button
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<!-- yo can define as much buttons as you want -->
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<Button
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<!-- yo can define as much buttons as you want -->
</LinearLayout>
<!-- and so on -->
</LinearLayout>
以这种方式定义布局可能不利于性能,因此请谨慎使用
答案 4 :(得分:0)
您可以使用7行
的网格视图GridView gridView = new GridView(context);
gridView.setNumColumns(7);