我正在做一个项目,我的挑战是让ImageButtons
成为正方形。我使用的是LinearLayouts
,所以我使用layout_weight
作为宽度,以便屏幕的宽度可以在ImageButtons
和"100dp"
的预设layout_height
之间均匀分布。现在我想通过编程将layout_height
更改为已分配的layout_width
。我已经检查了其他问题,但没有一个做我正在寻找的。请帮帮我下面是activity_main.xml
文件
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.abdul.sdgschampoins.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/goal1"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal1"
android:layout_margin="4dp"/>
<ImageButton
android:id="@+id/goal2"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal2"
android:layout_margin="4dp"/>
<ImageButton
android:id="@+id/goal3"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal3"
android:layout_margin="4dp"/>
</LinearLayout>
<LinearLayout
android:id="@+id/layout2"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/goal4"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal4"
android:layout_margin="4dp"/>
<ImageButton
android:id="@+id/goal5"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal5"
android:layout_margin="4dp"/>
<ImageButton
android:id="@+id/goal6"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal6"
android:layout_margin="4dp"/>
</LinearLayout>
<LinearLayout
android:id="@+id/layout3"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/goal7"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal7"
android:layout_margin="4dp"/>
<ImageButton
android:id="@+id/goal8"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal8"
android:layout_margin="4dp"/>
<ImageButton
android:id="@+id/goal9"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal9"
android:layout_margin="4dp"/>
</LinearLayout>
<LinearLayout
android:id="@+id/layout4"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/goal10"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal10"
android:layout_margin="4dp"/>
<ImageButton
android:id="@+id/goal11"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal11"
android:layout_margin="4dp"/>
<ImageButton
android:id="@+id/goal12"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal12"
android:layout_margin="4dp"/>
</LinearLayout>
<LinearLayout
android:id="@+id/layout5"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/goal13"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal13"
android:layout_margin="4dp"/>
<ImageButton
android:id="@+id/goal14"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal14"
android:layout_margin="4dp"/>
<ImageButton
android:id="@+id/goal15"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal15"
android:layout_margin="4dp"/>
</LinearLayout>
<LinearLayout
android:id="@+id/layout6"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/goal16"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal16"
android:layout_margin="4dp"/>
<ImageButton
android:id="@+id/goal17"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/goal17"
android:layout_margin="4dp"/>
<ImageButton
android:id="@+id/dummyIcon"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="105dp"
android:background="@drawable/sdglogo"
android:layout_margin="4dp"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
1条答案
按热度按时间oxf4rvwz1#
我觉得你应该试试这样的: