我不能把TextView放在ImageView的右侧

时间:2017-04-05 19:39:32

标签: android android-layout

我是Android App开发中的一种新功能,有我的问题,我创建了一个scrollview,在scrollview里面我有LinearLayout。问题在于LinearLayout我不能将textview放在ImageView旁边,真的卡在这里。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_item_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp"
android:fillViewport="true"
tools:context="com.example.daniw.traekle.ItemDetail">

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TextView
        android:id="@+id/tv_bookTitle"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_marginBottom="5dp"
        android:text="Title"
        android:textStyle="bold"
        android:textSize="20dp"/>

    <TextView
        android:id="@+id/tv_ISBN"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:text="ISBN"/>

    <ImageView
        android:id="@+id/imageView_book"
        android:layout_width="fill_parent"
        android:layout_height="200dp"
        android:layout_margin="5dp"
        android:layout_marginBottom="5dp"
        android:paddingBottom="50dp"
        android:paddingLeft="3dp"
        android:paddingRight="3dp"
        android:paddingTop="3dp"
        android:scaleType="fitXY"/>

    <TextView
        android:id="@+id/tv_bookPrice"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_marginBottom="5dp"
        android:text="$0.00"
        android:textSize="30dp"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/tv_bookInfo"
        android:layout_width="fill_parent"
        android:layout_height="200dp"
        android:layout_marginBottom="5dp"
        android:text="This is bookInfo"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@android:color/darker_gray"/>

    <ImageView
        android:id="@+id/imageView_seller"
        android:layout_width="80dp"
        android:layout_alignParentLeft="true"
        android:layout_margin="8dp"
        android:layout_height="80dp" />

    <TextView
        android:id="@+id/tv_sellerInfo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/imageView_seller"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/imageView_seller"
        android:layout_toRightOf="@+id/imageView_seller"
        android:layout_gravity="center_horizontal"
        android:textSize="20dp"
        android:text="Seller INFO"/>
</LinearLayout>
</ScrollView>

这就是发生的事情

enter image description here

4 个答案:

答案 0 :(得分:0)

这是因为LinearLayout的方向是vertical(一个视图低于另一个视图),尝试更改为horizontal或将LinearLayout更改为{{1并添加你想要的约束。

答案 1 :(得分:0)

此XML代码可能对您有所帮助...... 我在imageView_seller

的左侧设置了tv_sellerInfo
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/activity_item_detail"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fillViewport="true"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:paddingTop="10dp">

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tv_bookTitle"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_marginBottom="5dp"
        android:text="Title"
        android:textSize="20dp"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/tv_ISBN"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:text="ISBN"/>

    <ImageView
        android:id="@+id/imageView_book"
        android:layout_width="fill_parent"
        android:layout_height="200dp"
        android:layout_margin="5dp"
        android:layout_marginBottom="5dp"
        android:paddingBottom="50dp"
        android:paddingLeft="3dp"
        android:paddingRight="3dp"
        android:paddingTop="3dp"
        android:scaleType="fitXY"/>

    <TextView
        android:id="@+id/tv_bookPrice"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_marginBottom="5dp"
        android:text="$0.00"
        android:textSize="30dp"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/tv_bookInfo"
        android:layout_width="fill_parent"
        android:layout_height="200dp"
        android:layout_marginBottom="5dp"
        android:text="This is bookInfo"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@android:color/darker_gray"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/imageView_seller"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_gravity="center_vertical"
            android:layout_margin="8dp"/>

        <TextView
            android:id="@+id/tv_sellerInfo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:text="Seller INFO"
            android:textSize="20dp"/>
    </LinearLayout>
</LinearLayout>
</ScrollView>

答案 2 :(得分:0)

在想要将textview放在图像视图右侧的位置添加线性布局。设置此线性布局的方向是hrizontal然后将imageview和textview放入此linearlayout

答案 3 :(得分:0)

这样做 -

机器人:取向=&#34;水平&#34;

像这样 -

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_item_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:orientation="horizontal"
android:paddingRight="10dp"
android:paddingTop="10dp"
android:fillViewport="true"
tools:context="com.example.daniw.traekle.ItemDetail">

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TextView
        android:id="@+id/tv_bookTitle"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_marginBottom="5dp"
        android:text="Title"
        android:textStyle="bold"
        android:textSize="20dp"/>

    <TextView
        android:id="@+id/tv_ISBN"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:text="ISBN"/>

    <ImageView
        android:id="@+id/imageView_book"
        android:layout_width="fill_parent"
        android:layout_height="200dp"
        android:layout_margin="5dp"
        android:layout_marginBottom="5dp"
        android:paddingBottom="50dp"
        android:paddingLeft="3dp"
        android:paddingRight="3dp"
        android:paddingTop="3dp"
        android:scaleType="fitXY"/>

    <TextView
        android:id="@+id/tv_bookPrice"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_marginBottom="5dp"
        android:text="$0.00"
        android:textSize="30dp"
        android:textStyle="bold"/>

    <TextView
        android:id="@+id/tv_bookInfo"
        android:layout_width="fill_parent"
        android:layout_height="200dp"
        android:layout_marginBottom="5dp"
        android:text="This is bookInfo"/>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@android:color/darker_gray"/>

    <ImageView
        android:id="@+id/imageView_seller"
        android:layout_width="80dp"
        android:layout_alignParentLeft="true"
        android:layout_margin="8dp"
        android:layout_height="80dp" />

    <TextView
        android:id="@+id/tv_sellerInfo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/imageView_seller"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/imageView_seller"
        android:layout_toRightOf="@+id/imageView_seller"
        android:layout_gravity="center_horizontal"
        android:textSize="20dp"
        android:text="Seller INFO"/>
</LinearLayout>
</ScrollView>