这里我粘贴了我的布局文件: 可能有问题被问过这么多次,但请帮帮我朋友
<ImageView
android:id="@+id/productImageId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/products_category" />
<RelativeLayout
android:id="@+id/linearView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:id="@+id/productType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/productName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/productRating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
现在我想要的是图像应该在左边,文本在右边。 Image1名称 Image1类型 Iamge1评级
图片1是单张图片,您可以看到上面的内容,但我的文字以单行显示在图片下方,例如
IMAGE1 名称类型评级
任何人都可以告诉我我错过了什么或我应该在哪里纠正我的布局文件。谢谢你的考虑。
答案 0 :(得分:3)
您的父级可能是面向垂直的LinearLayout,尝试在您的代码中添加此LinearLayout,如下所示:
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/productImageId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/products_category" />
<LinearLayout android:id="@+id/linearView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/productType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/productName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/productRating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
</LinearLayout>
答案 1 :(得分:1)
另一种简单的方法是
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/productImageId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/products_category" />
<LinearLayout
android:id="@+id/linearView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/productType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/productName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/productRating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
</LinearLayout>
这可以使用Single RelativeLayout作为父容器而不是使用两个级别的布局来完成
请检查以下布局
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:id="@+id/productImageId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/products_category" />
<TextView
android:id="@+id/productType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/productImageId"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/productName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/productImageId"
android:layout_below="@+id/productType"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/productRating"
android:layout_below="@+id/productName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/productImageId"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
使用此布局的主要好处是性能提升,因为我们正在降低布局层次结构的一个级别,这将降低设备的处理能力
答案 2 :(得分:0)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/productImageId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="xx"
android:src="@drawable/ic_launcher" />
<RelativeLayout
android:id="@+id/linearView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/productType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="xx"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/productName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/productType"
android:text="xx"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_below="@id/productType"/>
<TextView
android:id="@+id/productRating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/productName"
android:text="xx"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_below="@id/productName"/>
</RelativeLayout>
</LinearLayout>
因此,图像将采用水平线性布局中的左侧部分,而3个文本视图将采用相对布局而位于其他布局之下。
查看我得到的结果:
希望它有所帮助。