2014-09-06 54 views
1

我正在處理我的第一個應用程序,並且有輕微的XML問題。這就是我的屏幕目前的樣子,你可以看到「投資」一詞被削減了一半。EditText切斷文本

android screenshot

這裏是我的代碼,是生產這種行爲:

<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:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.quinnmchugh.networthcalculator.MainActivity$PlaceholderFragment" 
android:orientation="vertical" > 

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

    <TextView 
     android:id="@+id/lblPrincipal" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:text="@string/principal" 
     android:layout_weight="2" 
     android:gravity="right" 
     android:layout_marginRight="@dimen/activity_horizontal_margin" 
     android:textSize="16sp" /> 

    <EditText 
     android:id="@+id/txtPrincipal" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:hint="ex. 5,000" 
     android:layout_weight="3" /> 

</LinearLayout> 

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

    <TextView 
     android:id="@+id/lblStartingSalary" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:text="@string/starting_salary" 
     android:layout_weight="2" 
     android:gravity="right" 
     android:layout_marginRight="@dimen/activity_horizontal_margin" 
     android:textSize="16sp" /> 

    <EditText 
     android:id="@+id/txtStartingSalary" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:hint="ex. 60,000" 
     android:layout_weight="3" /> 

</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:layout_marginTop="24dp" > 

    <TextView 
     android:id="@+id/lblAnnualReturn" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:text="@string/annual_return" 
     android:layout_weight="2" 
     android:gravity="right" 
     android:layout_marginRight="@dimen/activity_horizontal_margin" 
     android:textSize="16sp" /> 

    <EditText 
     android:id="@+id/txtAnnualReturn" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:hint="ex. 7%" 
     android:layout_weight="3" /> 

</LinearLayout> 

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

    <TextView 
     android:id="@+id/lblPercentOfIncome" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:text="@string/percent_of_income" 
     android:layout_weight="2" 
     android:gravity="right" 
     android:layout_marginRight="@dimen/activity_horizontal_margin" 
     android:textSize="16sp" /> 

    <EditText 
     android:id="@+id/txtPercentOfIncome" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:hint="ex. 15%" 
     android:layout_weight="3" /> 

</LinearLayout> 

什麼我需要修復,以獲得的EditText完全包裹本身顯示的全部內容字符串?

回答

1

向正在切斷的元素添加一些填充。例如:

<TextView 
    android:id="@+id/lblPercentOfIncome" 
    ... 
    android:paddingBottom="16dp" /> 
+0

所以這表明'padding'沒有被繼承,你必須爲每個對象重新聲明它? – 2014-09-06 14:02:05

+0

它不是「繼承的」,但是你的父容器可以包含它自己的獨立填充(可以或不可以被子視圖使用)。 – Booger 2014-09-06 16:23:27

0

將新行「\ n」添加到您的文本中。這將始終顯示您的所有文字。

+0

這個解決方案雖然有效,但看起來像是一個「廉價黑客」。這是行業首選解決這個問題的方法嗎? – 2014-09-06 14:16:03

+0

哈哈我不確定行業的首選。我只是一名工程學生。但它爲我解決。 – 2014-09-06 14:17:37

+0

'Hack'的定義是誰寫的(即,如果你寫了它,這是一個黑客,如果我寫了它,是一個快速的解決方法)。我不會這樣做,因爲Android會修剪文本的前部和後部的空白部分 - 尤其是在通過Strings.xml解析時。 – Booger 2014-09-06 16:22:50