在我的一个课程中,我在屏幕底部有两个EditText
和一个Button
。当我选择其中一个EditText
时,键盘会出现。问题是然后将EditText
和Button
移到屏幕的前面以查看您正在编写的内容。但是,在EditText
之上,我有两个TextView
,当我向EditText
写一些内容时,TextView
会从屏幕上消失。
我可以这样做:当用户在Edittext
中写一些内容时,只有EditText
向上移动,其余内容不受影响吗?
答案 0 :(得分:0)
此代码从上到下为您的edtxt设置动画:
正确地改变:
edtxt.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus)
{
TranslateAnimation slide = new TranslateAnimation(0, 0, -100,0 );
slide.setDuration(1000);
slide.setFillAfter(true);
edtxt.startAnimation(slide);
}
}
});
答案 1 :(得分:0)
将android:windowSoftInputMode
属性添加到Activity
中的AndroidManifest
:
<activity android:name=".MyActivity"
android:label="@string/app_name"
android:windowSoftInputMode="adjustPan">
</activity>
这将使软件键盘打开时屏幕正确调整。
答案 2 :(得分:0)
您可以覆盖onConfigurationChanged方法并检查键盘上/下状态
@Override
public void onConfigurationChanged(Configuration config)
{
super.onConfigurationChanged(config);
if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO)
{
}
else if (newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_YES)
{
}
}
<activity android:name=".MyActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name">