android去掉EditView的默认焦点问题

解决之道:在EditText的父级控件中找一个,设置成

 代码如下 复制代码

android:focusable="true" 
android:focusableInTouchMode="true"

这样,就把EditText默认的行为截断了!

 代码如下 复制代码

<LinearLayout 
style="@style/FillWrapWidgetStyle" 
android:orientation="vertical" 
android:background="@color/black" 
android:gravity="center_horizontal" 
android:focusable="true" 
android:focusableInTouchMode="true" 

<ImageView 
android:id="@+id/logo" 
style="@style/WrapContentWidgetStyle" 
android:background="@drawable/dream_dictionary_logo" 
/> 
<RelativeLayout 
style="@style/FillWrapWidgetStyle" 
android:background="@drawable/searchbar_bg" 
android:gravity="center_vertical" 

<EditText 
android:id="@+id/searchEditText" 
style="@style/WrapContentWidgetStyle" 
android:background="@null" 
android:hint="Search" 
android:layout_marginLeft="40dp" 
android:singleLine="true" 
/> 
</RelativeLayout> 
</LinearLayout>

查阅了很多资料后,发现以下方法最简单:

在xml中,在EditText控件之前
加入

 代码如下 复制代码

<LinearLayout
    android:id="@+id/linearLayout_focus"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:layout_width="0px"
    android:layout_height="0px"/>

这是一个虚假的LinearLayout,不会显示的,但是会抢走焦点

时间: 2024-10-24 04:46:50

android去掉EditView的默认焦点问题的相关文章

[Android] Android 去掉界面标题栏的方法

Android 去掉界面标题栏的方法 这个首先要区分当前Activity 是继承了 Activity 类 ,还是 AppCompatActivity 类 情况一:创建的activity默认继承了AppCompatActivity 方法一)全局设置 可以在AndroidManifest.xml中作如下配置,这样就没有标题栏了 <application android:theme="@style/Theme.AppCompat.NoActionBar"> 方法二)针对当前页面单

移动浏览器Chrome 32 for Android去掉了300ms点击延迟

翻译一篇关于移动浏览器300ms延迟的有用文章,原文地址  http://updates.html5rocks.com/2013/12/300ms-tap-delay-gone-away 去掉移动设备浏览器上的300ms点击延迟 你可以在网站上找到很多关于在为了快速流畅的网站用户体验,在某个地方减少10ms或90ms的文章.不幸的是,在基于触屏的跨平台移动浏览器上,触碰或点击一个物体时有一个人为的300ms延迟,即300ms后浏览器才认为是一个点击事件.当人们认为移动Web应用比原生应用慢时,这

Android去掉自动焦点

在EditText的父级控件中找一个,设置成 代码如下: android:focusable="true" android:focusableInTouchMode="true" Android去掉自动焦点,码迷,mamicode.com

Android 更改 Toast 的默认位置

Android中Toast的默认位置在屏幕靠近底部的位置,这个默认位置有时候并不合适.比如页面上内容较少时,内容一般集中在屏幕上半部分,用户的注意力也集中在屏幕上半部分,默认位置的Toast用户可能没有注意到.还有可能是默认位置的Toast被用户的手挡住了.实践中感觉将Toast显示在屏幕的中部或中上部会比较好.如何修改Toast的默认位置呢?下面做一个简单的例子来演示一下. 先上截图: 布局文件activity_toast.xml代码如下: <?xml version="1.0"

android的EditText重新获取焦点问题

在android开发过程中关于EditText在setFocusable(false);后,当需要再次获得焦点输入时设置setFocusable(true);后还是无法获得焦点的问题: 解决办法: 对EditText设置后就可以了! et.setFocusable(true); et.setFocusableInTouchMode(true); et.requestFocus(); et.findFocus(); android的EditText重新获取焦点问题

修改air for android Manifest.xml下默认的screenOrientation

最近工作中有这个需求,需要修改AIR for android 生成的apk里的 android:screenOrientation="user"为android:screenOrientation="landscape".原因是一些平台的sdk接入air for android下会出现home键返回界面消失,starling失去焦点的bug.如果改成android:screenOrientation="landscape" ,android:la

android 去掉actionbar 隐藏标题栏 全屏

去掉actionbar :getActionBar().hide(); 全屏方法一: <activity            android:name="com.imax.weather.MainActivity"            android:label="@string/app_name"            android:screenOrientation="portrait"            android:th

Android中涉及到的焦点问题,focusable,clickable,enabled

先摘抄下stackoverflow上一个启发了我的回答: try by Changing your code as: private OnClickListener saveButtonListener = new OnClickListener() { @Override public void onClick(View v) { Text1.clearFocus(); Text2.clearFocus(); saveButton.requestFocus(); //or any other

关于android 控件的默认属性问题

每个控件都有很多属性 而对于一些属性会有其默认值  而这些默认值是哪里来的? 我们会想到style或者theme 可往往我们使用TextView或者一些常用的控件的时候并没有声明 style属性 或者theme属性啊 下面以最常用的TextView来进行分析 我们知道 开发中缩写的xml 布局文件 最后都会被解析成为一个对象 势必会调用构造方法来创建对象 下面我们来看看TextView的构造方法 <span style="font-size:14px;"> public T