2017-03-03 78 views
1

在我線性佈局(方向:垂直),我已經一個TextView設置好的是這樣的:特別的TextView與多個可繪製

<TextView 
    android:id="@+id/myText" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:maxLines="2" 
    android:text="TEXT-TEXT-TEXT" 
    android:layout_marginTop="5dp" 
    android:textSize="10dp" 
    android:layout_marginBottom="10dp" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="10dp" 
    android:gravity="right"/> 

我需要放兩個可繪製這個TextView的內部,使這樣的結果[第一次繪製]文字[第二次繪製]文字

我已經嘗試了一個簡單的android:drawableStart,但它將圖像放在Layout的左側,而且我還需要另一個圖像。

有一些優雅的解決方案,使其工作?謝謝。

+0

通過使用**化合物可繪**,你可以有這樣的模式:'[第一繪製]文字文本[第二繪製]'或者乾脆用** 2 ** TextViews,比如'[第一個可繪製]文本'和(在它旁邊)'[第二個可繪製文本]' –

回答

0

您可以通過2種不同的方式來實現這一點,兩者都基於使用帶有多個組件的LinearLayout而不是單個Textview。

使用TextViews & ImageViews

這樣單獨提供各部件(文本和圖像)的微調,但多一點的時間。

通過替換您的TextView:

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

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@android:drawable/ic_menu_upload"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TEXT 1"/> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@android:drawable/ic_menu_upload"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TEXT 2"/> 

</LinearLayout> 

僅使用TextViews

這一個是較短的(僅2個分量),並使用化合物可繪。

更換你的TextView:

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

    <TextView 
     android:drawableStart="@android:drawable/ic_menu_upload" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TEXT 1" 
     android:gravity="center_vertical"/> 

    <TextView 
     android:drawableStart="@android:drawable/ic_menu_upload" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TEXT 2" 
     android:gravity="center_vertical"/> 

</LinearLayout>