【问题标题】:Buttons running out of screen real-estate按钮用尽屏幕空间
【发布时间】:2013-11-10 08:20:45
【问题描述】:

您好,我正在开发一个有 11 个按钮的应用程序。我创建了一个相对布局并按照我想要的方式排列按钮。在 Android Studio 中,我使用 nexus 4 屏幕作为指南。

现在,当我在分辨率较低的屏幕(例如 320*480)上运行我的应用程序时,我的最后一个按钮消失了,或者说离开了屏幕。如下图所示。

我所有的宽度和高度都在下降。我该如何解决这个问题?

【问题讨论】:

  • 使用自定义 ViewGroup 作为顶级 View 容器

标签: android screen android-studio android-relativelayout resolution


【解决方案1】:

您需要了解,虽然在为 android 设计时使用 dp 是正确的方法,但这并不意味着每个屏幕都具有完全相同的 dp 量。

您可以让每个人的布局更小一点,或者您可以尝试将每一行按钮放在水平线性布局中,让每个按钮等于android:layout_weight,这样无论大小如何,它们都会均匀分布屏幕。使用边距来控制它们之间的间距。

你可以用同样的原则用权重来解决垂直问题:把每一行放在一个垂直的线性布局中,并赋予它们相等的权重。

【讨论】:

    【解决方案2】:

    您应该使用LinearLayoutandroid:weightSum

    1.设置父级的android:weightSum

    2.按比例设置每个孩子的android:layout_weight(例如weightSum="6",六个孩子:每个layout_weight="1"

    3.并使用Dimension 给出按钮的大小,检查thisthis

    layout.xml

     <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:weightSum="6">
    
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:text="1" />
    
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:orientation="horizontal" />
    
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:orientation="horizontal" />
            ///////////////
            </LinearLayout>
    

    【讨论】:

    • 对于他想要的布局,任何基于 xml 的布局都太复杂了,最好的选择是创建自定义 ViewGroup
    • @pskink 我同意,但由于 Madhav 已经在使用基于布局的 xml,因此请给出修改所有密度屏幕并获得所需结果的想法。
    • @Squonk 我会说完全相反,试着计算你的 .xml 和我的 .java 中的#lines
    猜你喜欢
    • 2021-07-28
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    相关资源
    最近更新 更多