1

android:layout_height="match_parent"私はEditboxesを備えたGridViewを持っており、 android:layout_heightLinearLayoutを修正しています。

エディットボックスをタッチすると、キーボードが表示されます。

キーボードが表示されたときと消えたときにLinearLayoutのandroid:layout_heightを変更するにはどうすればよいですか?

4

1 に答える 1

0

以下のリンクを試してみてください。

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();
}
于 2013-01-21T11:43:57.507 に答える