Android 无法看到编辑文本
因此,我试图在Android 无法看到编辑文本,android,xml,android-layout,android-edittext,Android,Xml,Android Layout,Android Edittext,因此,我试图在textview上放置一个编辑文本,但在实现这一点时遇到了困难。当我打开活动时,键盘会打开,当我键入时,我看不到任何文本输入。此外,当键盘打开时,它会聚焦到我的imageview的一半,而不是我试图放置编辑文本的位置 这是我的xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" and
textview
上放置一个编辑文本,但在实现这一点时遇到了困难。当我打开活动时,键盘会打开,当我键入时,我看不到任何文本输入。此外,当键盘打开时,它会聚焦到我的imageview
的一半,而不是我试图放置编辑文本的位置
这是我的xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_route_details"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.zach.BirdsboroClimbing.RouteDetails">
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<CheckBox
android:text="Route Climbed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/routeCheckBox"
android:gravity="center" />
<CheckBox
android:text="Add Note"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:id="@+id/noteCheckBox"
android:gravity="center"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="text"
android:text="Name"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:id="@+id/noteEditText"
android:layout_below="@id/routeCheckBox"
android:background="#008000"
/>
<TextView
android:text="TextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/routeDetailsView"
android:textSize="18sp"
android:textAlignment="center"
android:textColor="@android:color/black"
android:layout_below="@id/noteEditText"/>
<ImageView
android:layout_below="@id/routeDetailsView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/routeImage"
android:scaleType="fitCenter"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:adjustViewBounds="true" />
</RelativeLayout>
</ScrollView>
谢谢你的帮助 在清单中使用
softInputMode
和adjustPan
。这将使操作系统以使光标在键盘上方可见所需的最小数量滚动整个屏幕
<activity
android:name=".YourActivity"
android:windowSoftInputMode="adjustPan">
</activity>
好的!我发现了问题所在。将可绘制视图设置为imageview时,会出现此问题。 您已经制作了
EditText
layout\u centerVertical=“true”
。
由于父对象是相对的,当imageview中有可绘制的对象时,EditText会重新计算其位置并进入父对象的中心(垂直)。这实际上是在ImageView后面。因此,您的EditText位于ImageView后面,并且由于ImageView是在xml
中的EditText之后写入的,因此它与EditText重叠
解决方案是从EditText中删除android:layout\u centerVertical=“true”。将您的xml替换为以下内容
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/activity_route_details"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
>
<CheckBox
android:text="Route Climbed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/routeCheckBox"
android:gravity="center" />
<CheckBox
android:text="Add Note"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:id="@+id/noteCheckBox"
android:gravity="center"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="text"
android:text="Name"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:id="@+id/noteEditText"
android:layout_below="@id/routeCheckBox"
android:background="#008000"
/>
<TextView
android:text="TextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/routeDetailsView"
android:textSize="18sp"
android:textAlignment="center"
android:textColor="@android:color/black"
android:layout_below="@id/noteEditText"/>
<ImageView
android:layout_below="@id/routeDetailsView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/routeImage"
android:scaleType="fitCenter"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:adjustViewBounds="true" />
</RelativeLayout>
</LinearLayout>
</ScrollView>
只需删除EditText的填充(如果存在)。它适合我。所以我把它放在我的清单中,但我看不到我的编辑文本在我的活动中的位置。例如,如果我单击编辑文本应位于的区域,则不会发生任何情况。@zsh5032工作正常,但您的布局不正常,这就是检查我编辑的答案的原因!!好的,谢谢。我现在不在计算机旁,但一旦我能试用它,我会立即报告。@zsh5032你检查过答案了吗?@zsh5032下次使用属性时最好对相同类型的属性有一个基本的了解不要全部使用=D,祝你好运!!你能上传正在发生的事情的截图吗?我现在不在电脑旁,但基本上编辑文本好像不存在。我看不到它,也不能点击它打开键盘。嘿,我也试过你的答案,它也起作用了。我希望我能选择一个以上的正确答案给你帮助!
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/activity_route_details"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
>
<CheckBox
android:text="Route Climbed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/routeCheckBox"
android:gravity="center" />
<CheckBox
android:text="Add Note"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:id="@+id/noteCheckBox"
android:gravity="center"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="text"
android:text="Name"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:id="@+id/noteEditText"
android:layout_below="@id/routeCheckBox"
android:background="#008000"
/>
<TextView
android:text="TextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/routeDetailsView"
android:textSize="18sp"
android:textAlignment="center"
android:textColor="@android:color/black"
android:layout_below="@id/noteEditText"/>
<ImageView
android:layout_below="@id/routeDetailsView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/routeImage"
android:scaleType="fitCenter"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:adjustViewBounds="true" />
</RelativeLayout>
</LinearLayout>
</ScrollView>
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);