2013-04-05 91 views
2

我設計佈局如下線性佈局包裝的TextView

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

    <TextView 
     android:id="@+id/messageText" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="Some really long text asd asd asd asd asd asd asd asd asd asd asd![enter image description here][1]" /> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="12:45 PM" /> 

</LinearLayout> 

它給像上面的UI ...... Long Text Image

這是完美的我所需要的。由於方向是水平的,所以長按鈕不會將屏幕按壓離開屏幕。按鈕也不拉伸。

但是,如果文字很小。它看起來像這樣

Short text image

我要的是按鈕應該這樣

short correct text

我知道,因爲我把佈局權重爲1對齊文本的左端。

在給按鈕提供需要的空間後,它會消耗剩下的整個區域。

如果我不這樣做。並使寬度成爲包裝內容。它適用於短文本。但隨着文字的增長。

它將按鈕從屏幕上推開。

那就是問題所在。 希望我讓我的問題有足夠的描述性。但當然要閱讀很長時間。當然痛苦。 但是,真的很高興知道任何指針。

我不願意使用相對佈局。

任何幫助將不勝感激。

謝謝

回答

5

希望這適用於你。請試試這個:

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

<TextView 
    android:id="@+id/messageText" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:text="Some really long text asd asd asd asd asd asd asd asd asd asd asd![enter image description here][1]" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="12:45 PM" /> 

我認爲你需要改變安卓的LinearLayout的 layout_width = 「FILL_PARENT」 到的android:layout_width = 「WRAP_CONTENT」

+0

謝謝。拯救了我的夜晚:) – Javanator 2013-04-05 13:54:31

1

試試這個:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" > 

<TextView 
    android:id="@+id/messageText" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_weight="1.0" 
    android:text="Some really long text asd asd asd asd asd asd asd asd asd asd asd![enter image description here][1]" /> 

<Button 
    android:id="@+id/button1" 
    android:layout_width="100dp" 
    android:layout_height="wrap_content" 
    android:text="12:45 PM" /> 

0

我在我的設備上測試過它並且工作正常。試試吧

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

<TextView 
    android:id="@+id/messageText" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:text="sdgdsgdhdhdfhdhgfffffffffffffffffffffffffffffffffffffffff" /> 

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="12:45 PM" /> 

</LinearLayout>