我在Manifest
这样的
android:theme="@android:style/Theme.Dialog"
那么如何防止软键盘上推和调整大小?
答案 0 :(得分:10)
您只需将活动的windowSoftInputMode标记切换为" adjustPan"。查看官方documentation了解更多信息。
<activity
...
android:windowSoftInputMode="adjustPan|adjustResize">
</activity>
如果您使用的是ScrollView,请将此android:isScrollContainer="false"
添加到ScrollView
。
试试..
答案 1 :(得分:-2)
将android:layout_height
固定为match_parent
,fill_parent
,wrape_content
它应该是一个实数,如android:layout_height="480dp"
或其他
或者我们可以通过编程方式指定
使用此代码
Functions.setActivityDiemention(this,
Functions.getScreenWidth(this) - 20,
Functions.getScreenHeight(this) - 20);
之前setContentView
setActivityDiemention
代码
public static final void setActivityDiemention(Activity activity ,int width,int hieght) {
android.view.WindowManager.LayoutParams params = activity.getWindow()
.getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = params.width;
activity.getWindow().setAttributes(
(android.view.WindowManager.LayoutParams) params);
}
getScreenWidth
和getScreenHeight
<强>代码强>
public static int getScreenHeight(Activity activity) {
Display display = activity.getWindowManager().getDefaultDisplay();
Point size = new Point();
if (getAPILevel() < 13) {
return display.getHeight();
}
display.getSize(size);
return size.y;
}
public static int getScreenWidth(Activity activity) {
Display display = activity.getWindowManager().getDefaultDisplay();
Point size = new Point();
if (getAPILevel() < 13) {
return display.getWidth();
}
display.getSize(size);
return size.x;
}
并且必须使用
android:windowSoftInputMode="adjustPan">