我有一个搜索布局,让我们说名为search_holder.xml
它是一个水平线性布局,包含一个搜索图标,一个用于输入的edittext和一个用于清除输入的X图标。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@drawable/button_search_images"
android:orientation="horizontal"
android:padding="@dimen/tick_icon_distance">
<ImageView
android:id="@+id/search_icon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginRight="-5dp"
android:padding="@dimen/tick_icon_distance"
android:layout_marginLeft="-5dp"
android:src="@drawable/ic_search" />
<EditText
android:id="@+id/search_field"
android:layout_width="@dimen/search_width"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:hint="@string/search_google_images_hint"
android:inputType="text"
android:padding="5dp"
android:textSize="@dimen/search_text_size" />
<ImageView
android:id="@+id/btnClear"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/tick_icon_distance"
android:paddingTop="@dimen/tick_icon_distance"
android:src="@drawable/ic_x" />
</LinearLayout>
然后我将它包含在另一个布局中:
<include android:id="@+id/search_block"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginRight="@dimen/normal_right_margin"
layout="@layout/search_holder"
/>
第一次点击edittext时会出现问题。 linearlayout的背景消失(变得透明)。
然后当我在外面拍摄时,背景又回来了。再次单击edittext,没有任何反应。它只在首次创建活动时发生一次。
API 21及更低版本会出现此问题。
我尝试启用/禁用硬件加速器,但它没有帮助。
我不知道它是不是版本,或者我错过了较低版本的内容。
感谢您的时间。
编辑(包含布局):
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
tools:context=".MyActivity" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!--Custom ImageView for drawing multiple drawable to canvas-->
<MyCustomImageView
android:id="@+id/editorImageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipChildren="true"
android:scaleType="fitXY" />
<!--This is for a frame on top of the CustomImageView-->
<ImageView
android:id="@+id/frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="false" />
<!-- Tools Layouts - The container of the tool set on top -->
<RelativeLayout
android:id="@+id/vb_action_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="@drawable/top_icons_shadow" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/small_top_margin"
android:gravity="center_vertical"
android:orientation="horizontal"
android:visibility="visible" >
<!-- The included layout here -->
<include android:id="@+id/search_block"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginRight="@dimen/normal_right_margin"
layout="@layout/search_holder"
/>
<!-- A few more button in the tool set -->
<ImageView
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/normal_right_margin"
android:background="@drawable/icon1" />
<ImageView
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/normal_right_margin"
android:background="@drawable/btn2" />
<ImageView
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/normal_right_margin"
android:background="@drawable/btn3" />
<ImageView
android:id="@+id/btn4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/small_top_margin"
android:background="@drawable/btn4" />
</LinearLayout>
<!-- A top left menu button -->
<Button
android:id="@+id/slideMenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="@dimen/xsmall_bottom_margin"
android:layout_marginTop="@dimen/xsmall_bottom_margin"
android:background="@android:color/transparent" />
</RelativeLayout>
注意:此布局采用横向模式
答案 0 :(得分:0)
通过将android:focusable="true"
和android:focusableInTouchMode="true"
设置为持有人LinearyLayout
的根search_holder.xml
来解决问题