我的布局有两个编辑文本和水平滚动条,片段中有一些图标。
使用相对布局约束将水平滚动视图永久固定到父级的底部。
单击编辑时,默认情况下会显示软键盘。 当发生这种情况时,我需要水平滚动视图浮动在软键盘上方,以便每个人都可以使用它。
我已将AndroidManifest.xml文件中的以下行添加到包含片段
的活动中android:windowSoftInputMode="adjustResize"
该视图仍未按预期工作。
我该如何解决这个问题?
当前屏幕:
没有键盘的当前屏幕 [Current Screen w/o keyboard] 1
带键盘的当前屏幕 [Current Screen with keyboard] 2
预期的广告
没有键盘的预期屏幕 [Expected Screen w/o keyboard] 3
带键盘的预期屏幕 [Exoected Screen with keyboard] 4
这是片段xml 文件。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<io.github.mthli.knife.KnifeText
android:id="@+id/edt_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/title_notes_add"
android:background="@android:color/transparent"
android:hint="Content"
android:padding="12dp"
android:textSize="20sp"
app:historyEnable="true"
app:historySize="20" />
<EditText
android:id="@+id/title_notes_add"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:hint="Title"
android:minLines="1"
android:padding="12dp"
android:textSize="24sp"
android:textStyle="bold" />
<HorizontalScrollView
android:id="@+id/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@android:color/white"
android:scrollbars="none">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageButton
android:id="@+id/undo"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?android:selectableItemBackground"
android:contentDescription="@null"
android:scaleType="center"
android:src="@drawable/ic_undo" />
<ImageButton
android:id="@+id/redo"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?android:selectableItemBackground"
android:contentDescription="@null"
android:scaleType="center"
android:src="@drawable/ic_redo" />
<ImageButton
android:id="@+id/bold"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?android:selectableItemBackground"
android:contentDescription="@null"
android:scaleType="center"
android:src="@drawable/ic_format_bold" />
<ImageButton
android:id="@+id/italic"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?android:selectableItemBackground"
android:contentDescription="@null"
android:scaleType="center"
android:src="@drawable/ic_format_italic" />
<ImageButton
android:id="@+id/underline"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?android:selectableItemBackground"
android:contentDescription="@null"
android:scaleType="center"
android:src="@drawable/ic_format_underlined" />
<ImageButton
android:id="@+id/strikethrough"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?android:selectableItemBackground"
android:contentDescription="@null"
android:scaleType="center"
android:src="@drawable/ic_strikethrough" />
<ImageButton
android:id="@+id/bullet"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?android:selectableItemBackground"
android:contentDescription="@null"
android:scaleType="center"
android:src="@drawable/ic_format_list_bulleted" />
<ImageButton
android:id="@+id/quote"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?android:selectableItemBackground"
android:contentDescription="@null"
android:scaleType="center"
android:src="@drawable/ic_format_quote" />
<ImageButton
android:id="@+id/link"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?android:selectableItemBackground"
android:contentDescription="@null"
android:scaleType="center"
android:src="@drawable/ic_insert_link" />
<ImageButton
android:id="@+id/clear"
android:layout_width="48dp"
android:layout_height="48dp"
android:background="?android:selectableItemBackground"
android:contentDescription="@null"
android:scaleType="center"
android:src="@drawable/ic_format_clear" />
</LinearLayout>
</HorizontalScrollView>
</RelativeLayout>
我哪里出错了,如何解决这个问题?
答案 0 :(得分:4)
在每个onCreateView
上的片段调用中尝试此操作getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
答案 1 :(得分:0)
您需要在清单中添加一行来调整活动中的屏幕可见性。
android:windowSoftInputMode="stateVisible|adjustPan"
所以Manifest中的活动标签就像这样:
<activity
android:name=".MainActivity"
android:windowSoftInputMode="stateVisible|adjustPan"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>