我需要在屏幕顶部放置5 imageButton
个。我是这样做的LinarLayout
:
<RelativeLayout 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="com.example.terrormachine.swipeapp.NewAdFragment">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/image"
android:id="@+id/imageButton6"
android:layout_weight="1"
android:scaleType="fitCenter" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/image"
android:id="@+id/imageButton7"
android:layout_weight="1"
android:scaleType="fitCenter" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/image"
android:id="@+id/imageButton8"
android:layout_weight="1"
android:scaleType="fitCenter" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/image"
android:id="@+id/imageButton9"
android:layout_weight="1"
android:scaleType="fitCenter" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/image"
android:id="@+id/imageButton10"
android:layout_weight="1"
android:scaleType="fitCenter" />
</LinearLayout>
</RelativeLayout>
问题是我需要将文本置于每个图像的下方。我尝试了几种解决方案,似乎没有一种方法适合我。 我试过这个:
Android Text Below Icon (button) How to add a text under the image button in Android? How to place text below a Button or a ImageButton?
他们中的一些人做了这个伎俩,但图像没有缩放。在我的情况下,我无法在下面设置文字。有没有办法做到这一点?
我没有必要使用LinearLayout
,但我无法找到任何正确的方法将它们平均分开并具有屏幕宽度。欢迎任何想法。
答案 0 :(得分:1)
将图像按钮和textview包装成线性布局,如下所示:
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/image"
android:id="@+id/imageButton6"
android:scaleType="fitCenter" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Main"
android:layout_gravity="center"
android:textColor="@android:color/black"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/image"
android:id="@+id/imageButton7"
android:scaleType="fitCenter" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Main"
android:layout_gravity="center"
android:textColor="@android:color/black"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/image"
android:id="@+id/imageButton8"
android:scaleType="fitCenter" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Main"
android:layout_gravity="center"
android:textColor="@android:color/black"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/image"
android:id="@+id/imageButton9"
android:scaleType="fitCenter" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Main"
android:layout_gravity="center"
android:textColor="@android:color/black"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_weight="1">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/image"
android:id="@+id/imageButton10"
android:scaleType="fitCenter" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Main"
android:layout_gravity="center"
android:textColor="@android:color/black"/>
</LinearLayout>
</LinearLayout>
答案 1 :(得分:0)
你应该有几种方法,我能想到的第一件事是代替ImageViews,你可以改为使用TextViews,并在每个TextView中为你的图像指定drawableTop:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@drawable/image"
...etc />
否则,如果您需要ImageViews,可以将ImageViews和TextViews包装到单独的Linears中以获得对齐:
<RelativeLayout 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="com.example.terrormachine.swipeapp.NewAdFragment">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_parent"
android:layout_height="wrap_parent" >
<ImageButton />
<TextView />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_parent"
android:layout_height="wrap_parent" >
<ImageButton />
<TextView />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
答案 2 :(得分:0)
不要考虑将文字添加到图片按钮。
考虑将图像添加到文本按钮:
<Button
android:id="@+id/imageButton9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@drawable/image"
android:text="Main"/>
使用drawablePadding
和其他设置,您可以调整按钮以查看您的需求。要摆脱按钮边界,请使用android:background="@null"
。