2013-03-05 44 views
4

我需要在佈局中有3個文本。中心的textView是紅色的,其他2個是黑色的。所以我把它添加到relativelayout並設置layout爲textView2到textView1和textView3的權利textView2android在佈局中排列文本視圖

this is what i have done

權但是,當在第三文本視圖中的文本是大,它也應該TextView的一個。 insted我得到這個。

when the 3rd text is longer i get this

現在我應該怎麼做才能讓財產以後也是這樣嗎?

this is what i need

<RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_toRightOf="@id/rel_lay" 
     android:background="#DFDFDF" 
     android:padding="2dip" > 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="2dip" 
      android:text="TextView" 
      android:textColor="#000000" /> 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_toRightOf="@+id/textView1" 
      android:text="TextView" 
      android:textColor="#FF0000" /> 

     <TextView 
      android:id="@+id/textView4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="false" 
      android:layout_toRightOf="@+id/textView2" 
      android:text="TextView when the third text is longer" 
      android:textColor="#000000" /> 

    </RelativeLayout> 

這是相對佈局與3的TextView。

+0

嘗試與重郵 – Richa 2013-03-05 06:58:54

+0

烏爾XML代碼!!!! – 2013-03-05 07:00:20

+0

發佈您的xml代碼 – Pragnani 2013-03-05 07:00:30

回答

1

只需使用一個TextView並根據需要設置文本。您知道要爲紅色設置哪些文字顏色。所以你需要的是起始文本索引結束文本

使用以下代碼。

SpannableString spanText = new SpannableString("My Name is Chintan Rathod"); 
spanText.setSpan(new ForegroundColorSpan(Color.parseColor("#FF0000")), 5 /*start index*/, 10 /*end index*/, 0); 
textView.setText(spanText); 

在這裏,我已經通過了和,但你可以通過你自己的索引。但要在範圍內確保指數這將不會觸發IndexOutOfBoundException

1

使用Spanned類和一個TextView可能會更好。您試圖實現它的方式,TextView#3將不得不fill_parent的寬度能夠知道TextView#2結束的位置。