我有圖像和文本元素的視圖。其中一些是動態的,所以我想將它們分組在一個「容器」(線性佈局也許?)中,所以當它們中的一些不存在時,下面的元素可以具有20dp的餘量,而不是大的空白。Android佈局:組動態元素
這是佈局:
我的代碼: (我想組:phoneTitleTextView,homePhoneTextView和homeTitleTextView)
<?xml version="1.0" encoding="utf-8"?>
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
<ImageView
android:id="@+id/largeImageView"
android:layout_width="120dp"
android:layout_height="120dp"
android:scaleType="centerCrop" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/name"
android:id="@+id/contactTitleTextView"
android:layout_toRightOf="@+id/largeImageView"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Text"
android:id="@+id/contactNameTextView"
android:layout_below="@+id/contactTitleTextView"
android:layout_toRightOf="@+id/largeImageView"
android:layout_toEndOf="@+id/largeImageView"
android:layout_marginLeft="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/company"
android:id="@+id/companyTitleTextView"
android:layout_above="@+id/companyTextView"
android:layout_alignLeft="@+id/contactNameTextView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Text"
android:id="@+id/companyTextView"
android:layout_alignBottom="@+id/largeImageView"
android:layout_alignLeft="@+id/contactNameTextView"
android:layout_alignStart="@+id/contactNameTextView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/phone"
android:id="@+id/phoneTitleTextView"
android:layout_below="@+id/largeImageView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="20dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Text"
android:id="@+id/homePhoneTextView"
android:layout_below="@+id/phoneTitleTextView"
android:layout_alignParentLeft="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/home"
android:id="@+id/homeTitleTextView"
android:layout_alignTop="@+id/homePhoneTextView"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/address"
android:id="@+id/addressTitleTextView"
android:layout_below="@+id/homePhoneTextView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="20dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Text"
android:id="@+id/address1TextView"
android:layout_below="@+id/addressTitleTextView"
android:layout_alignParentLeft="true"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Text"
android:id="@+id/address2TextView"
android:layout_below="@+id/address1TextView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/birthday"
android:id="@+id/birthdayTitleTextView"
android:layout_below="@+id/address2TextView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="20dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Text"
android:id="@+id/birthdayTextView"
android:layout_below="@+id/birthdayTitleTextView"
android:layout_alignParentLeft="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/email"
android:id="@+id/emailTitleTextView"
android:layout_below="@+id/birthdayTextView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="20dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Text"
android:id="@+id/emailTextView"
android:layout_below="@+id/emailTitleTextView"
android:layout_alignParentLeft="true" />
<ImageView
android:id="@+id/starImageView"
android:layout_width="50dp"
android:layout_height="50dp"
android:scaleType="centerCrop"
android:layout_alignTop="@+id/contactTitleTextView"
android:layout_alignRight="@+id/homeTitleTextView"
android:layout_alignEnd="@+id/homeTitleTextView" />
</RelativeLayout>
當我嘗試用RelativeLayout的做我所有的元素混合在一起。
提前致謝!
你提到了linearlayout,你試過了嗎? – wanpanman