我正在使用GridLayout(3x4)中的12个按钮进行XML活动,我希望这些按钮在所有设备的屏幕上均分(如果这是正确的话)。
这是XML代码
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
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=".UnitsActivity">
<android.support.v7.widget.GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:columnCount="3"
app:rowCount="4">
<Button
android:id="@+id/unit1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/unit_one_button"
app:layout_column="0"
app:layout_row="0" />
<Button
android:id="@+id/unit2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/unit_two_button"
app:layout_column="1"
app:layout_row="0" />
<Button
android:id="@+id/unit3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/unit_three_button"
app:layout_column="2"
app:layout_row="0" />
<Button
android:id="@+id/unit4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/unit_four_button"
app:layout_column="0"
app:layout_row="1" />
<Button
android:id="@+id/unit5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/unit_five_button"
app:layout_column="1"
app:layout_row="1" />
<Button
android:id="@+id/unit6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/unit_six_button"
app:layout_column="2"
app:layout_row="1" />
<Button
android:id="@+id/unit7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/unit_seven_button"
app:layout_column="0"
app:layout_row="2" />
<Button
android:id="@+id/unit8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/unit_eight_button"
app:layout_column="1"
app:layout_row="2" />
<Button
android:id="@+id/unit9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/unit_nine_button"
app:layout_column="2"
app:layout_row="2" />
<Button
android:id="@+id/unit10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/unit_ten_button"
app:layout_column="0"
app:layout_row="3" />
<Button
android:id="@+id/unit11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/unit_eleven_button"
app:layout_column="1"
app:layout_row="3" />
<Button
android:id="@+id/unit12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:background="@drawable/unit_twelve_button"
app:layout_column="2"
app:layout_row="3" />
</android.support.v7.widget.GridLayout>
如您所见,我正在使用Margin分发它们,但这是特定于特定设备的,在本例中为Samsung Galaxy S7。
答案 0 :(得分:2)
要使用均匀分布的按钮,可以为此使用线性布局。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>Testing</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.1</version>
<inherited>false</inherited>
<executions>
<execution>
<id>Test</id>
<phase>install</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<groupId>test.mac_linux</groupId>
<artifactId>Test</artifactId>
<version>1.0</version>
<file>${home_dir}/Downloads/jackson-databind-2.4.4.jar</file>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<configuration>
<phase>install</phase>
<target>
<zip destfile="${home_dir}/linux_mac_testing_maven/Testing_mac.zip">
<fileset dir="${home_dir}/.m2/repository/" includes="**/*" />
</zip>
</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-resources-WEB_INF</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${home_dir}/linux_mac_testing_maven/Resources/</outputDirectory>
<resources>
<resource>
<directory>${home_dir}/CustomReport_files/</directory>
<includes>
<include>**.*</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
希望,这对您有用。
答案 1 :(得分:0)
您可以尝试使用:
android:layout_width="0dp"
android:weightSum="0.25"`