我有一个包含计算器的片段(只有三个TextInputEditTexts监听输入)。
这些输入在RelativeLayout中设置,如下所示 -
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingBottom="16dp">
<android.support.design.widget.TextInputLayout
android:id="@+id/binomial_probability_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/label_probability"
android:paddingBottom="16dp">
<android.support.design.widget.TextInputEditText
android:id="@+id/binomial_probability_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:inputType="numberDecimal"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/binomial_trials_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/label_trials"
android:paddingBottom="16dp"
android:layout_below="@+id/binomial_probability_wrapper">
<android.support.design.widget.TextInputEditText
android:id="@+id/binomial_trials_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:inputType="numberSigned"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/binomial_successes_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/label_successes"
android:paddingBottom="16dp"
android:layout_below="@+id/binomial_trials_wrapper">
<android.support.design.widget.TextInputEditText
android:id="@+id/binomial_successes_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:inputType="numberSigned"/>
</android.support.design.widget.TextInputLayout>
</RelativeLayout>
我也尝试在一个单独的行上使用LinearLayout和每个输入,但结果相同。
底部输入被切断。如果我在屏幕上测量它,它显然是一个不同的大小,但Android返回相同的值,每个布局和输入的高度。
欢迎任何有关如何解决此问题的建议。
编辑:一些额外的信息。布局边界显示文本光标实际上高于底部TextInputEditText的高度。顶部有正确的高度。
第二次编辑:我在下面添加了一个TextView(用于输出),现在已经切断了,而TextInputEditText现在与其他文本相同。
答案 0 :(得分:1)
在官方github页面上说:
TextInputLayout
为填充和轮廓提供了两种高度变化 文本字段,标准且密集。两种框样式均默认为 标准高度。为了减小文本框的高度,可以使用密集 样式,这将减少文本框中的垂直填充。您 可以通过将适当的样式应用于您的
TextInputLayout
和TextInputEditText
,取决于您是否 使用填充或轮廓文本字段
因此,请尝试将@style/Widget.MaterialComponents.TextInputLayout.FilledBox.Dense
应用于您的TextInputLayout
或更改TextInputEditText
的填充
答案 1 :(得分:0)
<android.support.design.widget.TextInputLayout
android:id="@+id/binomial_probability_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/label_probability"
android:paddingBottom="16dp">
<android.support.design.widget.TextInputEditText
android:id="@+id/binomial_probability_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"
android:inputType="numberDecimal"/>
</android.support.design.widget.TextInputLayout>
你必须在
中使用android:paddingTop =“5dp”<android.support.design.widget.TextInputLayout
android:id="@+id/binomial_probability_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/label_probability"
android:paddingTop="5dp">
---- write something ----
</android.support.design.widget.TextInputLayout>