gpt4 book ai didi

android - 如何在 LinearLayout 中将 imageButons 居中并在其下方设置 textView?

转载 作者:行者123 更新时间:2023-11-29 20:30:55 24 4
gpt4 key购买 nike

如何将这三个圆形图片居中并在它们下方设置textView?

linearLayout上下为水平线,其他代码在ScrollView布局的child RelativeLayout中。

如果需要整个 xml 文件,请告诉我。

Layout

这是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>

最佳答案

在线性布局中使用相对布局属性是错误的。例如 layout_below、layout_alignLeft、layout_alignRight。要实现你想做的事情,最简单的方法是像这样在 Relative Layout Root 中使用 2 Linear Layout:

<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>

关于android - 如何在 LinearLayout 中将 imageButons 居中并在其下方设置 textView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32001059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com