Andorid工作室 - 使用sw限定符制作不同的布局

时间:2017-08-30 13:41:47

标签: android android-layout

我正在制作一款应用,并且我遇到了一个问题,即使用sw限定符让它变得敏感。大多数蜂窝设备进入sw320dp,我的问题是在这个类别的一组设备(sw320dp)中,我的布局很好,但在这个类别的另一组设备中,一切都看起来很糟糕,因为他们有小屏幕。所以我无法使用此sw限定符更改它们。 我知道有尺寸限定符(中等屏幕大小的不同布局,大或xlarge),但iv被告知它们不再使用。 我怎么解决这个问题?非常感谢!

我的layout.xml:它包含几个按钮,每个按钮上都有足球联赛名称。按一个按钮将向用户显示所需的联赛表。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.shaytsabar
    .footballtables.fragments.ChooseLeagueFragm
    ent">

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.constraint.ConstraintLayout
        android:id="@+id/layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp">

        <Button
            android:id="@+id/ligue1_btn"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="32dp"
            android:background="#9bdbc7"
            android:drawableRight="@drawable/flagfrance"
            android:paddingLeft="5dp"
            android:paddingRight="10dp"
            android:text="@string/ligue1"
            android:textAlignment="textStart"
            android:textColor="#191917"
            app:layout_constraintLeft_toLeftOf="@+id/bundesliga_btn"
            app:layout_constraintTop_toBottomOf="@+id/bundesliga_btn" />

        <Button
            android:id="@+id/ligue2_btn"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginRight="0dp"
            android:background="#9bdbc7"
            android:drawableRight="@drawable/flagfrance"
            android:paddingLeft="5dp"
            android:paddingRight="10dp"
            android:text="@string/ligue2"
            android:textAlignment="textStart"
            android:textColor="#191917"
            app:layout_constraintBottom_toBottomOf="@+id/ligue1_btn"
            app:layout_constraintRight_toRightOf="@+id/bundesliga2_btn" />

        <Button
            android:id="@+id/eredvise_btn"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="32dp"
            android:background="#9bdbc7"
            android:drawableRight="@drawable/flagnetherlands"
            android:paddingLeft="5dp"
            android:paddingRight="10dp"
            android:text="@string/eredvise"
            android:textAlignment="textStart"
            android:textColor="#191917"
            app:layout_constraintLeft_toLeftOf="@+id/ligue1_btn"
            app:layout_constraintTop_toBottomOf="@+id/ligue1_btn" />

        <Button
            android:id="@+id/seriaa_btn"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="32dp"
            android:background="#9bdbc7"
            android:drawableRight="@drawable/flagitaly"
            android:paddingLeft="5dp"
            android:paddingRight="10dp"
            android:text="@string/seria_A"
            android:textAlignment="textStart"
            android:textColor="#191917"
            app:layout_constraintLeft_toLeftOf="@+id/eredvise_btn"
            app:layout_constraintTop_toBottomOf="@+id/eredvise_btn" />

        <Button
            android:id="@+id/seriab_btn"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginRight="0dp"
            android:background="#9bdbc7"
            android:drawableRight="@drawable/flagitaly"
            android:paddingLeft="5dp"
            android:paddingRight="10dp"
            android:text="@string/seria_B"
            android:textAlignment="textStart"
            android:textColor="#191917"
            app:layout_constraintBottom_toBottomOf="@+id/seriaa_btn"
            app:layout_constraintRight_toRightOf="@+id/spanish_btn" />

        <Button
            android:id="@+id/spanish_btn"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginRight="0dp"
            android:background="#9bdbc7"
            android:drawableRight="@drawable/flagspain"
            android:paddingLeft="5dp"
            android:paddingRight="10dp"
            android:text="@string/spanishleague"
            android:textAlignment="textStart"
            android:textColor="#191917"
            app:layout_constraintBottom_toBottomOf="@+id/eredvise_btn"
            app:layout_constraintRight_toRightOf="@+id/ligue2_btn" />

        <Button
            android:id="@+id/brazil_btn"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginRight="0dp"
            android:background="#9bdbc7"
            android:drawablePadding="5dp"
            android:drawableRight="@drawable/flagbrazil"
            android:paddingLeft="5dp"
            android:paddingRight="10dp"
            android:text="@string/brazilleague"
            android:textAlignment="textStart"
            android:textColor="#191917"
            android:textSize="12sp"
            app:layout_constraintBottom_toBottomOf="@+id/portugese_btn"
            app:layout_constraintRight_toRightOf="@+id/seriab_btn" />

        <Button
            android:id="@+id/portugese_btn"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dp"
            android:layout_marginTop="32dp"
            android:background="#9bdbc7"
            android:drawableRight="@drawable/flagportugal"
            android:paddingLeft="5dp"
            android:paddingRight="10dp"
            android:text="@string/portugeseleague"
            android:textAlignment="textStart"
            android:textColor="#191917"
            app:layout_constraintLeft_toLeftOf="@+id/seriaa_btn"
            app:layout_constraintTop_toBottomOf="@+id/seriaa_btn" />

        <Button
            android:id="@+id/bundesliga_btn"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="-42dp"
            android:layout_marginTop="34dp"
            android:background="#9bdbc7"
            android:drawableRight="@drawable/flaggermany"
            android:paddingLeft="5dp"
            android:paddingRight="10dp"
            android:text="@string/bundesliga"
            android:textAlignment="textStart"
            android:textColor="#191917"
            android:textSize="12sp"
            app:layout_constraintLeft_toLeftOf="@+id/premierleague_btn"
            app:layout_constraintTop_toBottomOf="@+id/premierleague_btn" />

        <Button
            android:id="@+id/bundesliga2_btn"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="0dp"
            android:layout_marginRight="0dp"
            android:background="#9bdbc7"
            android:drawableRight="@drawable/flaggermany"
            android:paddingLeft="5dp"
            android:paddingRight="10dp"
            android:text="@string/secbundesliga"
            android:textAlignment="textStart"
            android:textColor="#191917"
            android:textSize="12sp"
            app:layout_constraintBottom_toBottomOf="@+id/bundesliga_btn"
            app:layout_constraintRight_toRightOf="@+id/championship_btn" />

        <Button
            android:id="@+id/championship_btn"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="8dp"
            android:layout_marginRight="19dp"
            android:layout_marginTop="16dp"
            android:background="#9bdbc7"
            android:drawablePadding="10dp"
            android:drawableRight="@drawable/flagengland"
            android:paddingLeft="5dp"
            android:paddingRight="10dp"
            android:text="@string/shrtchampionship"
            android:textAlignment="textStart"
            android:textColor="#191917"
            android:textSize="12sp"
            app:layout_constraintBottom_toBottomOf="@+id/premierleague_btn"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.0" />

        <Button
            android:id="@+id/premierleague_btn"
            android:layout_width="149dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="16dp"
            android:background="#9bdbc7"
            android:drawableRight="@drawable/flagengland"
            android:paddingLeft="5dp"
            android:paddingRight="10dp"
            android:text="@string/premier_league"
            android:textAlignment="textStart"
            android:textColor="#191917"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintTop_toTopOf="parent" />


      </android.support.constraint.ConstraintLayout>
  </android.support.v4.widget.NestedScrollView>

</FrameLayout>

1 个答案:

答案 0 :(得分:0)

只需添加几个组:sw320dp,sw360dp,sw400dp

  • 在这种情况下,sw320dp将提供320-360个最小宽度的屏幕

  • sw360dp将360-400

  • sw400dp将为400 +

您的默认布局文件将在此设置中处理高达320的所有屏幕。