这可能是一个错误,或者我只是不明白为什么,但似乎inputType="textCapCharacters"
在 a 上设置(或任何其他 inputType)EditText
会使提示与gravity="center"
.
以下是我的 xml 的摘录,其中LinearLayout
定义了下图中可见的内容:
a) 没有 inputType="textCapCharacters"
(...)
<LinearLayout
android:id="@+id/lin_cond1"
android:layout_below="@id/v_cond_line1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb_cond_stake_normal"
android:layout_width="0dp"
android:layout_weight="15"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="0dp"
android:layout_weight="25"
android:layout_height="wrap_content"
android:text="@string/define_stake"
/>
<EditText
android:id="@+id/et_cond_enter_stake_normal"
android:layout_width="0dp"
android:layout_weight="20"
android:layout_height="wrap_content"
android:inputType="number"
android:gravity="center"
/>
<EditText
android:id="@+id/et_cond_currencies"
android:layout_width="0dp"
android:layout_weight="40"
android:layout_height="wrap_content"
android:maxLength="3"
android:gravity="center"
android:hint="@string/currency"
/>
</LinearLayout>
(...)
结果
b) 有 inputType="textCapCharacters"
(...)
<LinearLayout
android:id="@+id/lin_cond1"
android:layout_below="@id/v_cond_line1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rb_cond_stake_normal"
android:layout_width="0dp"
android:layout_weight="15"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="0dp"
android:layout_weight="25"
android:layout_height="wrap_content"
android:text="@string/define_stake"
/>
<EditText
android:id="@+id/et_cond_enter_stake_normal"
android:layout_width="0dp"
android:layout_weight="20"
android:layout_height="wrap_content"
android:inputType="number"
android:gravity="center"
/>
<EditText
android:id="@+id/et_cond_currencies"
android:layout_width="0dp"
android:layout_weight="40"
android:layout_height="wrap_content"
android:inputType="textCapCharacters"
android:maxLength="3"
android:gravity="center"
android:hint="@string/currency"
/>
</LinearLayout>
(...)
结果
我尝试过但没有成功的方法:
- 将提示文本也用大写字母
- 放在inputType="textCapCharacters"
不同的位置
什么有效,但不需要:
- (如这里所见)删除gravity="center"
. 但是为什么它不能仅在组合中起作用?离开正常gravity
工作inputType
。
那么有什么解决方案可以同时拥有 inputType 和重力吗?