EditText切断文本
我正在处理我的第一个应用程序,并且有轻微的XML问题。这就是我的屏幕目前的样子,你可以看到“投资”一词被削减了一半。EditText切断文本
这里是我的代码,是生产这种行为:
<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完全包裹本身显示的全部内容字符串?
向正在切断的元素添加一些填充。例如:
<TextView
android:id="@+id/lblPercentOfIncome"
...
android:paddingBottom="16dp" />
将新行“\ n”添加到您的文本中。这将始终显示您的所有文字。
这个解决方案虽然有效,但看起来像是一个“廉价黑客”。这是行业首选解决这个问题的方法吗? – 2014-09-06 14:16:03
哈哈我不确定行业的首选。我只是一名工程学生。但它为我解决。 – 2014-09-06 14:17:37
'Hack'的定义是谁写的(即,如果你写了它,这是一个黑客,如果我写了它,是一个快速的解决方法)。我不会这样做,因为Android会修剪文本的前部和后部的空白部分 - 尤其是在通过Strings.xml解析时。 – Booger 2014-09-06 16:22:50
所以这表明'padding'没有被继承,你必须为每个对象重新声明它? – 2014-09-06 14:02:05
它不是“继承的”,但是你的父容器可以包含它自己的独立填充(可以或不可以被子视图使用)。 – Booger 2014-09-06 16:23:27