2011-11-15 56 views
0

我想创建一个类似下面的布局..Android的布局构建

enter image description here

这是XML我所遇到

<LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 

     <ImageView 
      android:id="@+id/display_photo" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/ic_launcher" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/username" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:ellipsize="end" 
       android:singleLine="true" 
       android:text="Username" 
       android:textColor="#000000" /> 

      <TextView 
       android:id="@+id/timestamp" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="0" 
       android:singleLine="true" 
       android:text="2 hours ago" 
       android:textColor="#000000" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:id="@+id/location" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:singleLine="true" 
       android:text="Location" 
       android:textColor="#000000" /> 
     </LinearLayout> 
    </LinearLayout> 
</LinearLayout> 

怎样才可以有文字结束......某些人物后......以及如何将时间安排在右侧?

回答

2

为了实现那种布局的您更好的使用,这将适当当中任何devices.Something呈现这样应该没问题相对布局。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout android:id="@+id/relativeLayout1" 
android:layout_width="fill_parent" android:gravity="center" 
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" 
android:background="#FFFFFF"> 
<ImageView android:layout_height="100px" android:id="@+id/deal_image" 
    android:layout_width="120px" android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true"></ImageView> 
<TextView android:id="@+id/deal_description" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:layout_toRightOf="@+id/deal_image" android:layout_marginLeft="5dip" 
    android:padding="2dp" android:textColor="#000000" /> 
<TextView android:id="@+id/deal_time" android:layout_height="wrap_content" 
    android:layout_width="120px" android:padding="2dp" 
    android:layout_below="@+id/deal_image" android:textColor="#FFFFFF" 
    android:background="#13ADDF" android:textSize="12dip"></TextView> 

<TextView android:id="@+id/real_price" android:layout_height="wrap_content" 
    android:layout_width="120px" android:padding="2dp" 
    android:layout_below="@id/deal_time" android:textColor="#FFFFFF" 
    android:background="#13ADDF" android:textSize="12dip"></TextView> 
<TextView android:id="@+id/deal_price" android:layout_height="wrap_content" 
    android:layout_width="fill_parent" android:padding="2dp" 
    android:background="#FFFFFF" android:layout_toRightOf="@id/real_price" 
    android:layout_toLeftOf="@id/buy_button" android:textStyle="bold" 
    android:textColor="#13ADDF" android:textSize="15dip" 
    android:layout_below="@id/deal_description" android:gravity="center" 
    android:layout_alignParentBottom="true" android:layout_alignBottom="@id/buy_button"></TextView> 


</RelativeLayout> 

你可以编辑这个,并且可以实现你想要显示的结构。

+0

对不起。猜我没有正确地问这个问题。我需要帮助实现该布局。 –

+1

啊我看看如果是这种情况,那么你需要使用相对布局,这是更适合定位的对象。 –

+0

请参阅我的编辑。 –

0

对于这种布局,最好的方法是使用带水平方向的简单LinearLayout,以及两个带有信息的textView。

为了让点(...)必须设置ellipsize并使name的名称textview填充所有可用空间,请使用weight属性。 nameText的layout_weight = 1,timeText的layout_weight = 0。

希望它能帮助:)

+0

我添加了..但犯规帮助..可能是我还需要构建应用程序的方式来获取有效 –

0

请找到下面的代码可能有助于您

<?xml version="1.0" encoding="utf-8"?> 
     <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> 
      <RelativeLayout android:id="@+id/relativeLayout1" android:layout_height="wrap_content" android:layout_width="fill_parent"> 
       <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView1" android:layout_alignParentLeft="true" android:background="@drawable/main_prf"></ImageView> 
       <LinearLayout android:layout_height="wrap_content" android:layout_toRightOf="@+id/imageView1" android:layout_width="wrap_content" android:id="@+id/linearLayout2" android:orientation="vertical" android:layout_centerVertical="true"> 
        <RelativeLayout android:layout_height="fill_parent" android:layout_width="wrap_content" android:id="@+id/relativeLayout2"> 
         <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="TextView" android:id="@+id/textView1" android:layout_toLeftOf="@+id/textView4" android:layout_alignParentLeft="true"></TextView> 
         <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="TextView" android:id="@+id/textView4" android:layout_alignParentRight="true"></TextView> 
        </RelativeLayout> 
        <TextView android:text="TextView" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> 
        <TextView android:text="TextView" android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> 
       </LinearLayout> 
      </RelativeLayout> 

     </LinearLayout> 

layout file

+0

gratz你只需添加3个不必要的布局http://developer.android.com/resources/articles/layout-tricks-efficiency.html – Selvin