Как я могу создать этот макет, который охватывает несколько строк, используя Android LinearLayout? - PullRequest
0 голосов
/ 25 сентября 2018

Что я могу сделать, чтобы просто вызвать эти кнопки ImageButton в этом макете с помощью LinearLayout?Я уже пробовал это с TableLayout, но он не работал для меня, потому что не все строки с ImageButtons как его дочерние элементы были отображены.

Layout

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

После небольшого переворота мне удалось разработать макет выше.Конечно, поразительно, что есть много вложенных линейных макетов, но, по крайней мере, мне это удалось.Может быть, у кого-то есть идея избежать этих вложенных линейных макетов, а если нет, то я оставляю это так, потому что это все равно выполняет свое предназначение.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">

        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal">

        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" />

        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" />
    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="3"
            android:orientation="vertical">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:orientation="horizontal">

                <Button
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1" />

                <Button
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1" />

                <Button
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:orientation="horizontal">

                <Button
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1" />

                <Button
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"/ >

                <Button
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1" />
            </LinearLayout>
        </LinearLayout>

        <Button
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"/>
    </LinearLayout>
</LinearLayout>
0 голосов
/ 25 сентября 2018

Этого можно достичь, вложив макеты в макеты.Подсказка;

<LinearLayout
 android: orientation = "vertical">
     <LinearLayout
      android: orientation = "horizontal">•
          <Button.../>
          <Button.../>
          <Button.../>
          <Button.../>
     </LinearLayout>

     <LinearLayout
      android: orientation = "horizontal">
          <Button.../>
          <Button.../>
          <Button.../>
          <Button.../>
     </LinearLayout>
     <RelativeLayout>
          <LinearLayout
           android: orientation = "horizontal"
           android: id = @+id/"abc">
              <Button.../>
              <Button.../>
              <Button.../>
          </LinearLayout>
          <LinearLayout
           android: orientation = "horizontal">•
              <Button.../>
              <Button.../>
              <Button.../>
          </LinearLayout>
              <Button...
               android: layout_toRightOf=" @id/abc"/>
     </RelativeLayout>


</LinearLayout>

Вы также можете вкладывать макеты в ConstraintLayout.Все зависит от того, как вы хотите добиться результата

...