我想设计一个布局,其中我想要Android中主文本正下方的子文本。 如下图所示。
____________________________________________
|<EMP NAME > | Location | ImageView |
|<designation> | |
|________________________________|___________|
在Iphone中,UITableView有detaulTextLable的选项。我怎样才能在Android中实现这一目标。有什么想法吗?
我的Xml文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="horizontal"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_below="@+id/addEmployee"
android:layout_weight="1" android:layout_height="wrap_content"
android:clickable="true" android:padding="2dip" android:layout_margin="5dip"
android:layout_marginBottom="2dip" android:layout_marginTop="2dip"
android:paddingBottom="2dip" android:background="#F5F5F5" android:fitsSystemWindows="true"
android:focusableInTouchMode="true">
<TextView android:layout_weight="1" android:id="@+id/add_employee_name"
android:clickable="true" android:layout_width="0dp" android:text="Enter Name"
android:layout_gravity="fill" android:layout_marginLeft="2dip"
android:layout_marginRight="2dip" android:layout_height="match_parent"
android:gravity="left|center" android:textStyle="bold"
android:paddingLeft="5dip" android:lineSpacingMultiplier="1.0" android:lines="3">
</TextView>
<!--
<TextView android:layout_weight="1" android:id="@+id/add_emp_designation">
</TextView>
Need to add a new text view for employees designation or textview has options for subtitles.
-->
<TextView android:layout_weight="0.4"
android:id="@+id/add_employee_location" android:clickable="true"
android:layout_width="0dp" android:text="Location" android:layout_gravity="fill"
android:layout_marginLeft="0dip" android:layout_marginRight="2dip"
android:layout_height="match_parent" android:textStyle="normal" android:paddingLeft="5dip" android:textColor="#B03060" android:gravity="bottom|right">
</TextView>
<ImageView android:id="@+id/employee_pic"
android:layout_gravity="right" android:src="@drawable/edit"
android:layout_width="wrap_content" android:layout_height="match_parent">
</ImageView>
</LinearLayout>
我只是对如何实现上述布局感到困惑。添加新的文本视图会水平添加它。有什么想法吗?
答案 0 :(得分:1)
尝试在水平线性布局中使用垂直LinearLayout。然后使用所需的多行文本填充垂直LinearLayout
答案 1 :(得分:1)
试试这个:
<RelativeLayout android:layout_height="50sp"
android:layout_width="fill_parent">
<TextView android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:id="@+id/designation"
android:layout_toLeftOf="@+id/location"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Name"/>
<TextView android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:id="@+id/designation"
android:layout_width="wrap_content"
android:layout_toLeftOf="@+id/location" android:text="Designation"/>
<TextView android:layout_height="wrap_content"
android:layout_alignParentBottom="true" android:id="@+id/location"
android:layout_toLeftOf="@+id/image"
android:gravity="center_vertical|center_horizontal" android:layout_alignParentTop="true" android:text="Location" android:layout_width="80sp"/>
<ImageView android:textColor="@color/white"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/image"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:src="@drawable/nologo"/>
</RelativeLayout>
答案 2 :(得分:1)
检查相对布局它会让你相对于父级定位一些组件,其余组件将相对于你在android中也有表格布局和RowLayout的其他组件,但在我看来它不太灵活。
答案 3 :(得分:1)
如果你希望Location和ImageView只占用他们需要的空间,那么下面的布局就可以了:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout android:layout_height="fill_parent"
android:layout_width="wrap_content" android:id="@+id/linearLayout1"
android:orientation="vertical" android:layout_weight="1">
<TextView android:text="TextView" android:id="@+id/EMP_NAME"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1"></TextView>
<TextView android:text="TextView" android:id="@+id/Description"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1"></TextView>
</LinearLayout>
<TextView android:id="@+id/location" android:text="TextView"
android:layout_height="fill_parent" android:layout_width="wrap_content"
android:gravity="center"></TextView>
<ImageView android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/YourImageView"
android:src="@drawable/icon"></ImageView>
</LinearLayout>