0

我想在 Android XML 中设计这个布局

在此处输入图像描述

我编写了 xml 并且没有放置“TEXT VIEW 2”代码就可以正常工作。

这是我没有放置 TEXT VIEW 2 的 XML 文件:-

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/txtbackground"

    >

<RelativeLayout 
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:id="@+id/header"
    >

    <!-- This is TEXTVIEW 1 -->
    <TextView 
    android:id="@+id/TEXTVIEW1"
        android:text="ITEM"
        android:layout_alignParentRight="true"
        android:background="@drawable/txtbackground"
        android:layout_alignTop="@+id/list_image"
        android:layout_toRightOf="@+id/list_image"
        android:layout_width="wrap_content"
        android:textSize="18dip"
        android:layout_height="100dip"
        android:textColor="#000000"
        android:textStyle="bold"

    />

    <ImageView     
    android:id="@+id/list_image"   
    android:layout_alignParentLeft="true"
        android:layout_width="100dip"
        android:layout_height="100dip"
        android:src="@drawable/image"
    />

</RelativeLayout>

    <!-- WebView  -->
    <LinearLayout android:id="@+id/thumbnail"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="0dip"
        android:layout_below="@+id/header"
        android:layout_marginTop="5dip"
        > 

        <WebView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/webkit"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"

    />

    </LinearLayout>    

</RelativeLayout>

谁能建议我应该把 TEXTVIEW2 代码放在哪里,它就像我给定的图形布局图像一样工作。

TEXTVIEW 2 的代码与 TEXTVIEW 1 相同:-

<!-- This is TEXTVIEW 2 -->
        <TextView 
        android:id="@+id/TEXTVIEW2"
            android:text="ITEM"
            android:layout_alignParentRight="true"
            android:background="@drawable/txtbackground"
            android:layout_alignTop="@+id/list_image"
            android:layout_toRightOf="@+id/list_image"
            android:layout_width="wrap_content"
            android:textSize="18dip"
            android:layout_height="100dip"
            android:textColor="#000000"
            android:textStyle="bold"

        />

提前致谢。

4

6 回答 6

2
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/icon" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="24dp"
        android:layout_toRightOf="@+id/imageView1"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <WebView
        android:id="@+id/webView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView2" />

</RelativeLayout>
于 2012-06-05T10:18:37.297 回答
0

<LinearLayout 
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical"
  android:layout_alignParentRight="true"
>
<!-- This is TEXTVIEW 1 -->
<TextView 
android:id="@+id/TEXTVIEW1"
    android:text="ITEM"

    android:background="@drawable/txtbackground"
    android:layout_alignTop="@+id/list_image"
    android:layout_toRightOf="@+id/list_image"
    android:layout_width="wrap_content"
    android:textSize="18dip"
    android:layout_height="100dip"
    android:textColor="#000000"
    android:textStyle="bold"

/>

<!-- This is TEXTVIEW 2 -->
    <TextView 
    android:id="@+id/TEXTVIEW2"
        android:text="ITEM"
        android:layout_alignParentRight="true"
        android:background="@drawable/txtbackground"
        android:layout_alignTop="@+id/list_image"
        android:layout_toRightOf="@+id/list_image"
        android:layout_width="wrap_content"
        android:textSize="18dip"
        android:layout_height="100dip"
        android:textColor="#000000"
        android:textStyle="bold"

    />

于 2012-06-05T10:18:28.753 回答
0

将其放置在TEXTVIEW1附加属性之后

android:layout_toRightOf="@id/TEXTVIEW1"

此外,无需WebView单独放置LinearLayout. 只需在WebView声明中添加以下内容:

android:layout_below="@id/list_image" 
于 2012-06-05T10:19:42.803 回答
0

你可以把它放在你的代码中的任何地方,RelativeLayout 根据它们的参数而不是它们列出的顺序来布局元素。如果它没有正确显示,那是因为你的 android: 参数,在这种情况下,它具有完全相同的事实作为 TextView1 的参数意味着 Android 会将其转储到 TextView1 的顶部 - 如果将视图放在同一个位置,RelativeLayout 会将视图堆叠在一起。

要在 TextView1 下获取它,您应该使用以下内容:

<TextView 
    android:id="@+id/TEXTVIEW2"
        android:text="ITEM"
        android:background="@drawable/txtbackground"
        android:layout_alignLeft="@+id/TEXTVIEW1"
        android:layout_below="@+id/TEXTVIEW1"
        android:layout_width="wrap_content"
        android:textSize="18dip"
        android:layout_height="100dip"
        android:textColor="#000000"
        android:textStyle="bold"

    />
于 2012-06-05T10:22:37.147 回答
0

您似乎误解了RelativeLayout- 的概念,以避免不必要的ViewGroups 嵌套。

我建议这样的东西(伪XML):

RelativeLayout ->
  ImageView (aligned to top-left corner, with some padding)
  TextView (aligned to right of ImageView and to top, with padding)
  TextView (aligned to right of ImageView and to bottom of previous TextView, with padding)
  WebView (aligned to bottom of ImageView)

看?关键是,当您使用 aRelativeLayout作为根元素时,您不需要在彼此内部有很多嵌套ViewGroup的 s (like )。LinearLayout

于 2012-06-05T10:23:11.650 回答
0

在你的 Textview 2 中试试这个

android:layout_above="textView 1"
android:layout_alignRight="image view"
于 2012-06-05T10:23:15.767 回答