安卓高手之路之图形系统【5】安卓ListView和EditText配合使用时的注意事项。 - 修补C++ - ITeye技术网站
ListView实现滚动和布局时的注意实现:
1.如何实现自动定位到底部:
android:stackFromBottom="true"
这样ListView就可以实现从底向上增长。
android:transcriptMode="alwaysScroll"
ListView自动定位到最新的哪一条,在这里为底部。
2.在垂直布局的情况下。
在布局ListView的时候,一般情况是放在LinearLayout中来控制ListView的长度。
在默认情况下:
ListView如果想设置Fill_Parent,由于某种原因LinearLayout又必须设置为Fill_Parent.
这样就有一个问题:
ListView 就会覆盖掉整个LinearLayout,以至于后面的LinearLayout的子View无法显示。
解决的办法是LinearLayout优先从底部开始布局
android:gravity="bottom"
这样,布局的时候就优先布局最下面的View。然后ListView顶多就只能覆盖到顶部。
如果这个时候,顶端还有一些布局。那么就可以布局在LinearLayout的上面。
总而言之,有ListView的布局时,优先考虑其他View的布局,最后再考虑ListView。
3. 关于输入的时候,输入法覆盖输入框的解决方法。
1.
使用以下方法可以让输入法直接顶住当前的window。而不需要设置scrollView。
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN |
WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);2.默认情况下仅仅顶上EditText控件。使得输入框下面的内容都看不到。
3.如果scrollView如果包含了一个edit框。就会顶住scrollView,可以实现部分顶上去的效果。