我收到了以下代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical"
android:weightSum="1">
<ImageView
android:id="@+id/slider_image"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.6"/>
<TextView
style="@style/DefaultText"
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.4"/>
(因为我还不知道图像的大小,这就是为什么我必须通过layout_weight
设置ImageView的大小。)
代码段会导致:
|-------------------|
| | | |
| | IMAGE | |
| | | |
|-------------------|
| |
| <<< TEXT >>> |
| |
|-------------------|
我想得到什么:
|-------------------|
| | | |
| | IMAGE | |
| | | |
|-------------------|
| | | |
| | TEXT | |
| | | |
|-------------------|
我不确定它是否可以在纯XML中使用,或者我是否必须使用Java。
无论如何 - 我无法使用RelativeLayout的layout_alignLeft
和layout_alignRight
,因为我必须先设置ImageView高度。
任何建议将不胜感激!
答案 0 :(得分:0)
您可以将RelativeLayout用作父级,并为文本视图添加以下行
android:layout_below="@+id/icon"
android:layout_alignLeft="@+id/icon"
android:layout_alignRight="@+id/icon"
答案 1 :(得分:0)
我从您的问题中了解到,您需要ImageView
&amp; TextView
宽度相同。
有两种方法可以实现这一目标。
通过XML :在ImageView
集scaleType
属性的XML文件中,
android:scaleType="fitXY"
这将确保您的图片适合您的ImageView
&amp; ImageView
宽度不会有所不同。
通过JAVA :将图片设置为ImageView
后获取ImageView
的尺寸,并将相同的尺寸设置为TextView
。
答案 2 :(得分:0)
试试这个,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical"
android:weightSum="1">
<ImageView
android:id="@+id/slider_image"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_gravity="center"
android:src="@mipmap/ic_launcher"
android:layout_weight="0.6" />
<TextView
android:id="@+id/description"
android:layout_width="match_parent"
android:gravity="center"
android:text="Textview"
android:layout_height="0dp"
android:layout_weight="0.4" />
</LinearLayout>