我会有数百个这样的布局(请参见下图),所以我需要以最有效的方式构建它。有三个区域,其中两个首先按底线对齐,左边一个包含ImageView
,另外两个TextView
一个在另一个之下。在第二个视图下有另一个TextView
视图。我应该使用TableLayout
作为容器,使用LinearLayout
作为第二个容器吗?会有效吗?谢谢。
答案 0 :(得分:0)
第一个消息是使ImageView“更高”,因此它覆盖了高度的TextViews,或者使底部的TextView更宽,以覆盖ImageView和上层TextView ..
在我看来这看起来更好看,这个空旷的空间让我眼中的刺痛......
然后我会推荐TableLayout,当然这个布局在单独的文件中,所以你可以重复使用include ..;)
欢呼,希望它有所帮助答案 1 :(得分:0)
在RelativeLayout
内,你应该使用Image View
和AlignParentLeft="true"
添加alignParenttop = "true"
,然后将第一个TextView
添加为imageView的RightOff
,第二个文本视图将其添加到第一个LayoutBottom
TextView
使用Relative Layouts
,它们被认为比Linear Layouts
更轻。
答案 2 :(得分:0)
试试这个
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="41dp"
android:layout_marginTop="39dp"
android:src="@drawable/ic_launcher" />
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/imageView1"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/imageView1"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView 1" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView 2" />
</LinearLayout>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/linearLayout1"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/imageView1"
android:text="TextView" />
答案 3 :(得分:0)
试试这个,它会提供你在问题中描述的布局:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/img" />
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<TextView
android:id="@+id/txt1"
android:layout_alignParentTop="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="textView1" />
<TextView
android:id="@+id/txt2"
android:layout_below="@+id/txt1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="textView1" />
</RelativeLayout>
</LinearLayout>
答案 4 :(得分:0)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/bg_l_l"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/bg_l_l"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="chintan"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="khetiya"
android:textAppearance="?android:attr/textAppearanceMedium" />
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/bg_l_l"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="this is extra text and this will not spred under the imageview as you can see."
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</LinearLayout>
</LinearLayout>