我已经阅读了讨论这个问题的其他问题,除了创建的第一个问题之外,它们都适用于我的布局。
目前,这是我的onCreate
方法的顶部:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
^这使得它至少键盘不会在启动时弹出,但EditText
仍然专注于。
这是我的EditText
的XML
:
<EditText
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/changePass"
android:layout_centerHorizontal="true"
android:layout_marginTop="167dp"
android:ems="10"
android:imeOptions="flagNoExtractUi"
android:inputType="textPassword"
android:maxLength="30" >
</EditText>
这是我提起我的活动时的样子:
问题是,对于某些手机,当EditText
像这样聚焦时,它们无法在其中写入。我希望它不对焦。
我所做的工作适用于接下来提出的布局,因为<code>编辑文本
请注意,它的布局是相同的。这是用户返回此屏幕后的屏幕,这表明<code>XML
我已经做了研究,所有其他问题都没有帮助我(谢天谢地,它们确实帮助键盘没有出现)。我如何使启动时的EditText
看起来像第二个屏幕截图,而不是第一个?
在main_layout中添加以下两行:
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
示例:
<RelativeLayout 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:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"> *YOUR LAYOUT CODE* </RelativeLayout>
XML代码:
<EditText
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/changePass"
android:layout_centerHorizontal="true"
android:layout_marginTop="167dp"
android:ems="10"
android:focusable="false"
android:imeOptions="flagNoExtractUi"
android:inputType="textPassword"
android:maxLength="30" >
</EditText>
Java代码:
EditText edPwd = (EditText)findViewById(R.id.password);
edtPwd.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
v.setFocusable(true);
v.setFocusableInTouchMode(true);
return false;
}
});
在xml中将focusable设置为false,并通过代码将其设置为true
您可以设置布局的属性,如<code>android:descendantFocusability=“beforedensions”
示例:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true" >
<EditText
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/changePass"
android:layout_centerHorizontal="true"
android:layout_marginTop="167dp"
android:ems="10"
android:imeOptions="flagNoExtractUi"
android:inputType="textPassword"
android:maxLength="30" >
</EditText>
</RelativeLayout>
愿这一个有用;)
我是Android Studio的新手,我一直在寻找答案,但不幸的是,我无法做到。我在创建新时遇到问题 我的Android Studio和我之前观看的视频的对比: 我已经试过右键单击另一张照片上的确切内容,并在每个文件夹中的任何位置单击鼠标右键,但仍然找不到新的
我在中使用,并且包含一些作为子视图。我所面临的是,当edittext聚焦和keybaoard出现时,我的完整视图不会向上滚动。 下面是作为该布局输出的代码和图像。
appI预览希望区分我通过单击按钮创建的edittext,并在特定的edittext上实现onclick侦听器 。
但不幸的是,它无法工作。 这是我今天尝试的最后一次尝试,但没有奏效: 和样式:
每当我创建新项目时,它总是用我的新项目创建appcompat_v7项目。当我创建新的android活动时,它总是扩展ActionBaractive并创建fragment_main.xml.我尝试更新adt和s\w也仍然没有运气 而这段代码也是在main活动中生成的
1. 创建会议活动 访问【会议营销】,点击【+新建会议】进入新建市场活动-会议销售页面; 在新建会议页面填写会议活动名称、展示封面、开始时间、结束时间、地点等 根据会议需要在会议详情中添加会议简介、嘉宾介绍、日程安排、会议须知等,帮助参会人员更快的了解会议主题及注意事项; 保存完成新建会议后会进入会议概览页面; 2. 完成报名设置 在会议下访问【报名设置】,为当前会议设置好报名内容以及确认是否开启