如何将这三个圆形图像居中并在它们下方设置textView?
linearLayout的上方和下方是水平线,其他代码位于ScrollView布局的子RelativeLayout中。
如果需要整个xml文件,请告诉我。
以下是xml代码:
<LinearLayout
android:id="@+id/linearLayout"
android:layout_marginBottom="24dp"
android:layout_marginTop="24dp"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/view" >
<ImageButton
android:id="@+id/Button1"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:scaleType="fitStart"
android:background="@drawable/circle"
android:src="@drawable/ic_horor_filmovi_ikonica" />
<TextView
android:id="@+id/ime1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/Button1"
android:layout_alignLeft="@+id/Button1"
android:layout_alignRight="@+id/Button1"
android:text="Ime"/>
<ImageButton
android:id="@+id/Button2"
android:background="@drawable/circle"
android:src="@drawable/ic_horor_filmovi_ikonica"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:scaleType="fitStart"
android:layout_width="70dp"
android:layout_height="70dp"/>
<TextView
android:id="@+id/ime2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/Button2"
android:layout_alignLeft="@+id/Button2"
android:layout_alignRight="@+id/Button2"
android:text="Ime"/>
<ImageButton
android:id="@+id/Button3"
android:background="@drawable/circle"
android:src="@drawable/ic_horor_filmovi_ikonica"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:layout_gravity="center_horizontal"
android:scaleType="fitStart"
android:layout_width="70dp"
android:layout_height="70dp"/>
<TextView
android:id="@+id/ime3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/Button3"
android:layout_alignLeft="@+id/Button3"
android:layout_alignRight="@+id/Button3"
android:text="Ime"/>
</LinearLayout>
答案 0 :(得分:1)
1)使用具有垂直方向的嵌套LinearLayout来包含图像和文本,并将其添加到局外线性布局中。 2)设置局外人线性布局的重力到中心应该达到你想要的效果。
我没有测试过它。请告诉我,如果不行,或者我不清楚。答案 1 :(得分:1)
通过将“相对布局”属性用于“线性布局”,您会犯一个错误。 例如layout_below,layout_alignLeft,layout_alignRight。 要实现您想要的目标,最简单的方法是将2线性布局用于相对布局根,如下所示:
<LinearLayout
android:id="@+id/linearLayoutButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:layout_marginTop="24dp"
android:orientation="horizontal">
<ImageButton
android:id="@+id/Button1"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:background="@drawable/circle"
android:scaleType="fitCenter"
android:src="@drawable/ic_horor_filmovi_ikonica" />
<ImageButton
android:id="@+id/Button2"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:background="@drawable/circle"
android:scaleType="fitCenter"
android:src="@drawable/ic_horor_filmovi_ikonica" />
<ImageButton
android:id="@+id/Button3"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:background="@drawable/circle"
android:scaleType="fitCenter"
android:src="@drawable/ic_horor_filmovi_ikonica" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayoutTextview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayoutButton"
android:orientation="horizontal">
<TextView
android:id="@+id/ime1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="Ime" />
<TextView
android:id="@+id/ime2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="Ime" />
<TextView
android:id="@+id/ime3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="Ime" />
</LinearLayout>
编辑:将scaleType从fitStart更改为fitCenter。
还有另一种解决方案,其优点是保持按钮大小是使用嵌套的线性布局:
<LinearLayout
android:id="@+id/linearLayoutButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:layout_marginTop="24dp"
android:layout_weight="1"
android:orientation="vertical">
<ImageButton
android:id="@+id/Button1"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_gravity="center"
android:layout_marginTop="16dp"
android:background="@drawable/circle"
android:scaleType="fitCenter"
android:src="@drawable/ic_horor_filmovi_ikonica"/>
<TextView
android:id="@+id/ime1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Ime" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:layout_marginTop="24dp"
android:layout_weight="1"
android:orientation="vertical">
<ImageButton
android:id="@+id/Button2"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_gravity="center"
android:layout_marginTop="16dp"
android:background="@drawable/circle"
android:scaleType="fitCenter"
android:src="@drawable/ic_horor_filmovi_ikonica"/>
<TextView
android:id="@+id/ime2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Ime" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:layout_marginTop="24dp"
android:layout_weight="1"
android:orientation="vertical">
<ImageButton
android:id="@+id/Button3"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_gravity="center"
android:layout_marginTop="16dp"
android:background="@drawable/circle"
android:scaleType="fitCenter"
android:src="@drawable/ic_horor_filmovi_ikonica"/>
<TextView
android:id="@+id/ime3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Ime" />
</LinearLayout>
</LinearLayout>
答案 2 :(得分:0)
你应该更改你的&#34; Android:width = warp_content&#34;根LinearLayout(换句话说,两个LinearLayout的父LinearLayout)到&#34; Android:width = match_parent&#34;。如果您希望将图像按钮放在中心,请注意父母的视图大小必须是整个屏幕。