我想实现下面的布局,其中有一个textview和image的修复空间。
我使用的是相对布局,它没有“weight”属性。如何使用LinearLayout实现以下布局?
以下是我的代码
<RelativeLayout>
<TextView
android:id="@+id/txt"
android:paddingLeft="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:textSize="14dp"
android:textColor="@android:color/white"/>
<TextView
android:id="@+id/date_n_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:textColor="#E0FFFF"
android:layout_below="@+id/txt" />
<ImageView android:id="@+id/imageview"
android:layout_height="wrap_content"
android:paddingRight="5dp"
android:contentDescription="Image"
android:layout_width="wrap_content"
android:layout_alignParentRight="true"
android:src="@drawable/icon"/>
</RelativeLayout>
我使用RelativeLayout来放置textview和图像,如上图所示。但textview和imageview相互重叠。
答案 0 :(得分:0)
您可以通过在文本视图右侧或图像视图左侧提供填充/边距来提供固定空间。或者,如果您想使用线性布局,则为文本视图提供7的权重,为图像视图提供3的权重。
答案 1 :(得分:0)
将LinearLayout
与layout_weightSum
和layout_weight
一起使用。
以下是将屏幕垂直划分为2个部分的示例。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weigthSum="1">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0.9">
<ListView
android:id="@+id/frontpagetasklistid"
android:layout_width="fill_parent"
android:layout_height="375dp" >
</ListView>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0.1">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
>
<EditText
android:id="@+id/edittextidAddTodayTask"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/edittextselector"
android:hint="Add Today Task"/>
<ImageButton
android:id="@+id/imagebuttonidAddTodayTask"
android:layout_width="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:src="@drawable/addtask" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
答案 2 :(得分:0)
你应该使用水平方向的linearLayout,在内部放置textView和imageView,将layout_width设置为0dp,并将权重设置为你希望它们具有的任何相对权重,例如
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="4"
/>
<ImageView
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
</LinearLayout>
textView的权重为4,imageView的权重为1,这意味着textview将获得4/5的空间,textView将获得1/5的空间,只需尝试一下< / p>
答案 3 :(得分:0)
您可以轻松地将TextView放在图像左侧,如下所示:
android:layout_toLeftOf="@+id/yourimg"
添加保证金,您应该能够轻松实现此布局