/ / Como usar atributos xml da API superior na API inferior? - android, xml, layout de grade

Como usar os atributos xml da API superior na API mais baixa? - android, xml, layout de grade

Eu quero usar atributos xml de API mais alta no sistema Android mais baixo. Como fazer isso sem mudar muito? gostar android:layout_columnWeight e android:layout_rowWeigh. Aqui está o meu código xml:

<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent">

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="0"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="Hello"
android:id="@+id/hello"
android:onClick="buttonTapped"/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="0"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="How are you"
android:id="@+id/howareyou"
android:onClick="buttonTapped"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="1"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="good evening"
android:id="@+id/goodevening"
android:onClick="buttonTapped"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="1"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="please"
android:id="@+id/please"
android:onClick="buttonTapped"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="2"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="my name is"
android:id="@+id/mynameis"
android:onClick="buttonTapped"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="2"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="do you &#10;speak english"
android:id="@+id/doyouspeakenglish"
android:onClick="buttonTapped"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="3"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="welcome"
android:id="@+id/welcome"
android:onClick="buttonTapped"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="3"
android:layout_gravity="fill"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="i live in"
android:id="@+id/ilivein"
android:onClick="buttonTapped"/>

por favor, não diga para usar outro método para fazer isso, gridLayout é muito útil, mas eu não posso usar em sistemas Android inferiores.

Respostas:

1 para resposta № 1

Neste caso, você pode usar android.support.v7.widget.GridLayout da Biblioteca de suporte do Android no lugar do padrão GridLayout.


0 para resposta № 2

Basta mudar para o GridLayout da biblioteca de suporte.

Dessa forma, você começa a usar o seu layout_columnWeight em APIs mais antigas, mas substitua o android prefixo de namespace com app.

Referência

A única outra alternativa é usar um arquivo de layout alternativo dentro do seu layout-v21 diretório ou algo assim.