Android软键盘弹出导致页面背景图片压缩或上移问题解决办法

方法一:

1、在AndroidManifest.xml文件里面的Activity配置:

android:windowSoftInputMode="adjustResize|stateHidden"

2、不要将背景图片放在XML布局文件中,而是用代码实现,在onCreate方法中加上:

getWindow().setBackgroundDrawableResource(R.drawable.aa);

方法二:

1、在AndroidManifest.xml文件里面的Activity配置:

android:windowSoftInputMode="adjustResize|stateHidden"

2、布局文件设置自定义背景:

例如:

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:background="@mipmap/ic_launcher"/>

3、自定义背景组件:

public class MyBackgroud extends RelativeLayout {

    private Context mContext;

    public MyBackgroud(Context context) {

        super(context);

        mContext = context;

    }

    public MyBackgroud(Context context, AttributeSet attrs) {

        super(context, attrs);

        mContext = context;

    }

    public MyBackgroud(Context context, AttributeSet attrs, int defStyleAttr) {

        super(context, attrs, defStyleAttr);

        mContext = context;

    }

    public MyBackgroud(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {

        super(context, attrs, defStyleAttr, defStyleRes);

        mContext = context;

    }

    @Override

    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

        DisplayMetrics dm = new DisplayMetrics();

        WindowManager mWm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);

        mWm.getDefaultDisplay().getMetrics(dm);

        int screenHeight = dm.heightPixels;

        heightMeasureSpec = MeasureSpec.makeMeasureSpec(screenHeight, MeasureSpec.EXACTLY);

        super.onMeasure(widthMeasureSpec, heightMeasureSpec);

    }

}

方法三:

1、在AndroidManifest.xml文件里面的Activity配置:

android:windowSoftInputMode="adjustNothing|stateHidden"

2、监听软键盘弹出状态,键盘弹出后,获取键盘高度,在Editview下加一个高度为键盘高度的View,键盘隐藏时,则隐藏该View。

你可能感兴趣的:(Android软键盘弹出导致页面背景图片压缩或上移问题解决办法)