java软键盘切断了EditText/TextInputText控件的底部
我正在经历下图所示的挑战
我唯一没有遇到这种挑战的时候是EditText控件没有用于实现控件周围边界的drawable
我尝试了以下建议,似乎可以解决这个问题
建议1
@Override
//public void setBackground(Drawable background) {
public void setBackgroundResource(int resid) {
int pl = getPaddingLeft();
int pt = getPaddingTop();
int pr = getPaddingRight();
int pb = getPaddingBottom();
super.setBackgroundResource(resid);
this.setPadding(pl, pt, pr, pb);
}
建议2
安卓:windowSoftInputMode="adjustResize"
建议3
安卓:windowSoftInputMode="adjustPan"
如何让EditText控件位于软键盘上
更新1
我布局的一部分
<安卓.support.design.widget.TextInputLayout
安卓:layout_width="match_parent"
安卓:layout_height="wrap_content"
安卓:hint=" "
>
<!-- Dummy item to prevent AutoCompleteTextView from receiving focus -->
<LinearLayout
安卓:focusable="true"
安卓:focusableInTouchMode="true"
安卓:layout_width="0px"
安卓:layout_height="0px"/>
<安卓.support.design.widget.TextInputEditText
安卓:id="@+id/txtUserName"
安卓:layout_width="match_parent"
安卓:layout_marginBottom="@dimen/textControlMarginBottom"
安卓:hint="@string/userNameHint"
安卓:inputType="text"
安卓:nextFocusUp="@id/txtUserName"
安卓:nextFocusLeft="@id/txtUserName"
安卓:nextFocusDown="@+id/txtPassword"
安卓:nextFocusRight="@+id/txtPassword"
style="@style/EditTextViewSingleRowStyle" />
</安卓.support.design.widget.TextInputLayout>
<style name="EditTextViewSingleRowStyle">
<item name="安卓:layout_height">@dimen/textViewHeight</item>
<item name="安卓:paddingTop">@dimen/textViewTopPadding</item>
<item name="安卓:paddingBottom">@dimen/textViewBottomPadding</item>
<item name="安卓:background">@drawable/selector_text_control_edit</item>
<item name="安卓:cursorVisible">true</item>
<item name="安卓:fontFamily">sans-serif</item>
<item name="安卓:gravity">center_vertical</item>
<item name="安卓:maxLines">1</item>
<item name="安卓:singleLine">true</item>
<item name="安卓:textColor">@color/controlTextColor</item>
<item name="安卓:textColorHint">@color/controlTextViewHint</item>
<item name="安卓:textCursorDrawable">@drawable/cursor</item>
<item name="安卓:textIsSelectable">true</item>
<item name="安卓:textSize">@dimen/controlTextSize</item>
</style>
解决方案
我已经为EditText/TextInputText控件设置了一个固定的高度。我把它从安卓:layout_height='48dp'
改为安卓:layout_height='match_content'
# 1 楼答案
我已经为EditText/TextInputText控件设置了一个固定的高度。我把它从
android:layout_height='48dp'
改为android:layout_height='match_content'
# 2 楼答案
您应该使用父布局作为
RelativeLayout
然后像这样在TextInputEditText
中添加android:layout_alignParentBottom="true"
通过添加此edittextBorder,可以自定义
TextInputEditText
。可绘图文件夹中的xml然后像这样输出
# 3 楼答案
添加到您的活动
ScrollView
然后在
activity
中确保您正在执行类似的操作(此代码只是为了演示在何处使用)getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);)
例如: