2015-06-08 36 views
-1

我想很難對齊這paticular佈局,但無法正確設置。線性佈局的TextView和按鈕排列

誰能幫我出這一點。

我需要完全排佈局,如下圖所示:

enter image description here

這是我現在有:

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

     <TextView 
      android:id="@+id/txtTitle" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="10dip" 
      android:layout_weight="1" 
      android:ellipsize="marquee" 
      android:gravity="center_vertical" 
      android:singleLine="true" 
      android:textSize="20sp" /> 

     <TextView 
      android:id="@+id/txtadd" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="25dip" 
      android:layout_weight="1" 
      android:ellipsize="marquee" 
      android:singleLine="true" 
      android:textSize="18sp" /> 
    </LinearLayout> 

    <TextView 
     android:id="@+id/txtLongDesc" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dip" 
     android:ellipsize="marquee" 
     android:focusable="true" 
     android:focusableInTouchMode="true" 
     android:gravity="center_vertical" 
     android:marqueeRepeatLimit="marquee_forever" 
     android:scrollHorizontally="true" 
     android:singleLine="true" 
     android:textColor="@color/blue_header" 
     android:textSize="16sp" /> 
</LinearLayout> 

<ImageView 
    android:id="@+id/btndelete" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_alignParentEnd="true" 
    android:layout_alignParentRight="true" 
    android:layout_gravity="right" 
    android:layout_toRightOf="@+id/txtadd" 
    android:layout_weight="1" 
    android:scaleType="fitEnd" 
    android:src="@drawable/ic_menu_delete" /> 

我希望按鈕以兩者爲中心線性layoyuts和長文本應該是大寫字母。 問題是如果我設置了較長的TextView到fill_parent其按下按鈕。

+0

只是一個importent音符。當你想將一個wight屬性應用到子視圖時,你必須根據佈局方向將高度/寬度設置爲0dp。 – Aksiom

回答

2

使用LinearLayoutweight屬性:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:orientation="vertical"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <TextView 
       android:id="@+id/txtTitle" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:ellipsize="marquee" 
       android:gravity="center_vertical" 
       android:singleLine="true" 
       android:textSize="20sp" /> 

      <TextView 
       android:id="@+id/txtadd" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:ellipsize="marquee" 
       android:singleLine="true" 
       android:textSize="18sp" /> 
     </LinearLayout> 

     <TextView 
      android:id="@+id/txtLongDesc" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:ellipsize="marquee" 
      android:focusable="true" 
      android:focusableInTouchMode="true" 
      android:gravity="center_vertical" 
      android:marqueeRepeatLimit="marquee_forever" 
      android:scrollHorizontally="true" 
      android:singleLine="true" 
      android:textColor="@color/blue_header" 
      android:textSize="16sp" /> 

    </LinearLayout> 

    <ImageView 
     android:id="@+id/btndelete" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:src="@drawable/ic_menu_delete" /> 
</LinearLayout> 
+0

Perfect..Thanks多和文本不lollipop..can marqueeing你說了我的理由? – coder

0

您可以使用此

<LinearLayout 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:orientation="horizontal" 
    android:weightSum="1" > 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.80" 
     android:orientation="vertical" > 

     <TableRow 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" > 

      <TextView 
       android:id="@+id/txtTitle" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:ellipsize="marquee" 
       android:gravity="center_vertical" 
       android:singleLine="true" 
       android:text="Lorem ipsum" 
       android:textSize="20sp" /> 

      <TextView 
       android:id="@+id/txtadd" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:ellipsize="marquee" 
       android:singleLine="true" 
       android:text="Lorem ipsum" 
       android:textSize="18sp" /> 
     </TableRow> 

     <TextView 
      android:id="@+id/txtLongDesc" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:ellipsize="marquee" 
      android:focusable="true" 
      android:focusableInTouchMode="true" 
      android:gravity="center_vertical" 
      android:marqueeRepeatLimit="marquee_forever" 
      android:scrollHorizontally="true" 
      android:singleLine="true" 
      android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit" 
      android:textSize="16sp" /> 
    </LinearLayout> 

    <ImageView 
     android:id="@+id/btndelete" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="0.20" 
     android:src="@drawable/ic_launcher" /> 

</LinearLayout> 

我希望這會幫助你。