无法将文本对齐到imageview android layout xml的右侧

时间:2018-04-22 11:30:18

标签: android layout android-linearlayout

我正在尝试在android中创建如下的布局: Layout

但我的问题是我无法在图像下方或图像视图的右侧添加文字。如果我将ImageView和textview包装在LinearLayout中,则整个视图会缩小。我应该使用TableLayout吗?

我当前的布局xml如下所示:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:layout_below="@id/my_recycler_view"
    android:layout_margin="30dp">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:orientation="vertical"
        android:layout_weight="1"


        >

        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/vwImageAndClassroom"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            >

            <ImageView
                android:id="@+id/img_room"
                android:layout_width="fill_parent"
                android:layout_height="100dp"
                android:layout_gravity="center_horizontal"
                android:contentDescription="@string/coverimage_contentdescription"
                android:scaleType="fitCenter"
                android:src="@drawable/comm_book_icon"

                />

            <TextView
                android:id="@+id/tv_emp_name"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"
                android:textSize="12dp"
                android:textStyle="bold"
                android:textAllCaps="true"
                android:layout_below="@id/img_room"
                android:layout_marginBottom="20dp"
                android:gravity="center_horizontal"
                android:text="TEXT 1"

                />
        </RelativeLayout>

    </LinearLayout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:orientation="vertical"
        android:layout_weight="1"


        >

        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/vwImageAndClassroom2"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            >

            <ImageView
                android:id="@+id/img_room2"
                android:layout_width="fill_parent"
                android:layout_height="100dp"
                android:layout_gravity="center_horizontal"
                android:contentDescription="@string/coverimage_contentdescription"
                android:scaleType="fitCenter"
                android:src="@drawable/visitor_book_icon"

                />

            <TextView
                android:id="@+id/tv_emp_name2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"
                android:textSize="12dp"
                android:textStyle="bold"
                android:textAllCaps="true"
                android:layout_below="@id/img_room2"
                android:layout_marginBottom="20dp"
                android:gravity="center_horizontal"
                android:text="TEXT 2"

                />
        </RelativeLayout>

    </LinearLayout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:orientation="vertical"
        android:layout_weight="1"


        >

        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/vwImageAndClassroom3"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            >

            <ImageView
                android:id="@+id/img_room3"
                android:layout_width="fill_parent"
                android:layout_height="100dp"
                android:layout_gravity="center_horizontal"
                android:contentDescription="@string/coverimage_contentdescription"
                android:scaleType="fitCenter"
                android:src="@drawable/visitor_book_icon"

                />

            <TextView
                android:id="@+id/tv_emp_name3"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"
                android:textSize="12dp"
                android:textStyle="bold"
                android:textAllCaps="true"
                android:layout_below="@id/img_room3"
                android:layout_marginBottom="20dp"
                android:gravity="center_horizontal"
                android:text="TEXT 3"

                />
        </RelativeLayout>

    </LinearLayout>

</LinearLayout>

3 个答案:

答案 0 :(得分:1)

希望这会对您有所帮助,您将从此xml代码中找到您的解决方案。我只修改了你的一些代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

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

    <ImageView
        android:id="@+id/image1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:src="@android:drawable/ic_search_category_default"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This Right side text 1"/>

</LinearLayout>


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

    <ImageView

        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:src="@android:drawable/ic_search_category_default"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This Right side text 1"/>

</LinearLayout>


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

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

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:src="@android:drawable/ic_search_category_default"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This Right side text 1"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_gravity="center">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="This is under layout text"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="This is under layout text"/>

    </LinearLayout>

</LinearLayout>

答案 1 :(得分:1)

拥有不需要文字的占位符视图。

{{3}}

const newThreads = newItems.reduce(async (acc, item) => {
  const current = await acc;

  const html2 = await requestAsync(item.href);
  const thread = cheerio.load(html2.body);

  const today = thread('div#ignmsgbttns1')
    .parent()
    .parent()
    .find("b:contains('Today')");

  if (today.text()) current.push(item);

  return current;
}, []);

newThreads.then((res) => {  
  //..doing stuff with res 
})

答案 2 :(得分:1)

我完全按你的意愿做了

Open image

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">


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

<ImageView
    android:id="@+id/imageView"
    android:layout_width="300dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    app:srcCompat="@android:drawable/btn_dialog" />

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

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        app:srcCompat="@android:drawable/btn_dialog" />

</LinearLayout>

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

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        app:srcCompat="@android:drawable/btn_dialog" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textView5"
            android:layout_width="match_parent"
            android:layout_height="15dp"
            android:text="Some text" />

        <TextView
            android:id="@+id/textView6"
            android:layout_width="match_parent"
            android:layout_height="15dp"
            android:text="Some text" />
    </LinearLayout>

</LinearLayout>
</LinearLayout>

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

    <TextView
        android:id="@+id/textView7"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Some text"
        app:srcCompat="@android:drawable/btn_dialog" />

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

        <TextView
            android:id="@+id/textView8"
            android:layout_width="300dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:text="Some text"
            app:srcCompat="@android:drawable/btn_dialog" />

    </LinearLayout>

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

        <TextView
            android:id="@+id/textView9"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Some text"
            app:srcCompat="@android:drawable/btn_dialog" />


        </LinearLayout>

    </LinearLayout>
    </LinearLayout>