android:layout_height="match_parent"
私はEditboxesを備えたGridViewを持っており、 android:layout_heightLinearLayout
を修正しています。
エディットボックスをタッチすると、キーボードが表示されます。
キーボードが表示されたときと消えたときにLinearLayoutのandroid:layout_heightを変更するにはどうすればよいですか?
android:layout_height="match_parent"
私はEditboxesを備えたGridViewを持っており、 android:layout_heightLinearLayout
を修正しています。
エディットボックスをタッチすると、キーボードが表示されます。
キーボードが表示されたときと消えたときにLinearLayoutのandroid:layout_heightを変更するにはどうすればよいですか?
以下のリンクを試してみてください。
http://android-developers.blogspot.com/2009/04/updating-applications-for-on-screen.html
http://davidwparker.com/2011/08/30/android-how-to-float-a-row-above-keyboard/
private OnSoftKeyboardListener onSoftKeyboardListener;
@Override
protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) {
if (onSoftKeyboardListener != null) {
final int newSpec = MeasureSpec.getSize(heightMeasureSpec);
final int oldSpec = getMeasuredHeight();
if (oldSpec > newSpec){
onSoftKeyboardListener.onShown();
} else {
onSoftKeyboardListener.onHidden();
}
}
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
public final void setOnSoftKeyboardListener(final OnSoftKeyboardListener listener) {
this.onSoftKeyboardListener = listener;
}
public interface OnSoftKeyboardListener {
public void onShown();
public void onHidden();
}