我有一些元素的scrollview,其中一个 - 编辑文本,靠近布局的底部。 当这个editText请求通过点击聚焦时 - 打开软键盘并覆盖该editText fild,这样用户就无法看到他输入的内容......
任何想法为什么会发生以及如何解决?
这是我的代码清单:
<activity
android:name=".acitivity.TransferActivity"
android:label="@string/title_activity_transfer"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize">
</activity>
这里是活动xml:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_transfer"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/container_transfer_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_transfer" />
</LinearLayout>
这里是片段xml:
<ScrollView
android:id="@+id/transfer_scroller"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blue_500"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
//some code here
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
//some code here
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<EditText
android:id="@+id/et_transfer_p1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:inputType="number"
android:textColor="@color/gray_400"
android:textSize="@dimen/font_main_2" >
</EditText>
</LinearLayout>
</LinearLayout>
</ScrollView>
答案 0 :(得分:1)
试试这个..
android:windowSoftInputMode="adjustPan"
答案 1 :(得分:0)
<EditText
android:id="@+id/et_transfer_p1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:gravity="center_horizontal"
android:inputType="number"
android:textColor="@color/gray_400"
android:textSize="@dimen/font_main_2" />
并将ScrollView高度设置为match_parent
答案 2 :(得分:0)
在您的清单文件中尝试此操作:
<activity
android:name="com.android.test.ActivityName"
android:windowSoftInputMode="stateHidden|adjustResize" >
</activity>
答案 3 :(得分:0)
只需转发并编写此代码
即可机器人:windowSoftInputMode = “stateVisible | adjustNothing”
这样假设您的活动名称为com.something.Activity
<activity android:name="com.something.Activity"
android:windowSoftInputMode="stateVisible|adjustNothing"
></activity>
它会调整,你的textview位置不会改变。
答案 4 :(得分:0)
在ScrollView中,您可以滚动并有效地输入edittext:
var mychararray = recievedtext.ToCharArray();