2014-02-12 281 views
1

我有一个注册活动的标志和许多EditTexts,问题是,当我试图填充editTexts时,软键盘显示,它隐藏了大部分的Edittexts,我试着用:android:windowSoftInputMode="adjustResize"但它不起作用,我认为,隐藏徽标将是解决方案,无论如何隐藏一些ImageView时键盘显示,并再次显示时,键盘的隐藏?当软键盘显示时隐藏ImageView

这些都是参考图像:

这是活动最初

all EditTexts

,这是它的外观与键盘

KeyboarShown

+0

您可以改为使用ScrollView,将所有布局放在ScrollView中,当弹出屏幕时,屏幕会缩小,但现在您可以滚动浏览所有EditText了。此外,这里是你要求的链接。 http://www.coderanch.com/t/624086/Android/Mobile/detect-virtual-keyboard-popped-android –

回答

2

要回答你的问题(当弹出键盘时隐藏图像),请使用以下代码片段来打开hi取消/取消隐藏图像。

edit_Text.setOnFocusChangeListener(new OnFocusChangeListener() { 
@Override 
public void onFocusChange(View v, boolean hasFocus) { 
    if(hasFocus){ 
     image_view.setVisibility(View.GONE); 
    }else { 
     image_view.setVisibility(View.VISIBLE); 
    } 
    } 
}); 

您可以将此代码添加到所有edittext。但处理您的情况的最佳方式是将您的所有内容添加到ScrollView,以便当您使用adjustResize时,它会自动向上滚动您的视图,用户可以滚动到他想要的任何字段,他还可以看到图像。

+0

是的。用户不希望部分UI在尝试输入时被随机隐藏。 'ScrollView'绝对是最好的选择(它会给你的应用程序提供更好的兼容性;屏幕可以变得非常小) – NasaGeek

+0

它们已经在滚动视图中,但徽标不在scrollview中,我猜应该把滚动视图内的标志。 – Aiapaec

+0

@El_Mochiq在ScrollView中添加所有视图(包括徽标)将是最好的,因为从屏幕截图看来,您似乎拥有大量的EditText。 – Antrromet