0

我想实现下面的布局,其中有文本视图和图像的固定空间。

我正在使用相对布局,它没有“重量”属性。如何使用 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 和 imageview 相互重叠。

4

4 回答 4

0

您可以像这样轻松地将 TextView 放在图像的左侧:

android:layout_toLeftOf="@+id/yourimg"

添加边距,你应该可以轻松实现这个布局

于 2013-07-09T09:49:20.493 回答
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 的空间,试试看

于 2013-07-09T09:45:27.980 回答
0

You can provide a fixed space by providing padding/margin either to the right of the text view or to the left of the image view. Alternatively if you would like to use an linear layout provide a weight of 7 to the text view and 3 to the image view.

于 2013-07-09T09:33:35.403 回答
0

LinearLayoutlayout_weightSum和一起使用layout_weight

下面是将屏幕垂直分成两部分的示例。

<?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>
于 2013-07-09T09:35:51.110 回答