以编程方式支持不同类型的屏幕

时间:2018-07-05 08:34:13

标签: android android-layout

我的布局如何不使用constraintLayout和使用诸如layout-small,layout-large,layout-normal和layout-xlarge之类的文件夹来支持其他屏幕。我不想使用它们,因为我确实有足够的布局。请帮我。 这是我的布局之一:

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
<TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/job_order_no"
        android:textSize="15sp"
        android:textColor="#000"
        android:fontFamily="@font/roboto_bold"
        android:layout_weight="1"
        android:text ="A"
        />
</LinearLayout>

2 个答案:

答案 0 :(得分:1)

尝试使用带有weightSum和weights的LinearLayout。 下面是在屏幕上等分2个按钮的示例,

<LinearLayout
    android:id="@+id/layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="2"
    android:orientation="horizontal">

    <Button
        android:id="@+id/btn1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button 1"/>

    <Button
        android:id="@+id/btn2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button 2"/>

</LinearLayout>

您可以根据需要更改weightSum和权重。 只需确保所有权重的总和必须等于weightSum。

希望这会有所帮助

答案 1 :(得分:0)

为此,您需要在res目录中创建2个文件夹,例如values-sw600dp(与8英寸制表符兼容)和values-sw720dp(与10英寸制表符兼容)。 在values-sw600dp中,创建dimen.xml并根据您的要求在该文件中指定尺寸。(用于8英寸制表符)。 在values-sw720dp中,创建dimen.xml并根据您的要求在该文件中指定尺寸。(用于10英寸制表符)

例如:

    <dimen name="txt_title">20sp</dimen>  (in values-sw600dp)
    <dimen name="txt_title">24sp</dimen>  (in values-sw720dp)

并在布局中的二维码上方使用它,如下所示:

    android:textSize="@dimen/txt_title"

您还可以使用此设置视图的高度和宽度。

希望这会对您有所帮助。