Android EditText始终从底部填充

时间:2013-01-29 09:09:05

标签: android android-edittext

这是我的ListView XML代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+list/list_view"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/defaultbg"
        android:drawSelectorOnTop="false" />

    <ImageButton
        android:id="@+list/filter_button"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:background="@android:color/transparent"
        android:contentDescription="@string/SmallLogo"
        android:scaleType="fitXY"
        android:src="@drawable/filter" />

    <!-- empty view -->

    <TextView
        android:id="@+list/empty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@drawable/defaultbg"
        android:gravity="center"
        android:text="@string/whos_around_empty_text"
        android:textAppearance="@android:style/TextAppearance.Medium"
        android:textColor="@android:color/white"
        android:textStyle="bold" />

    <EditText
        android:id="@+list/filter"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:hint="@string/search"                
        android:visibility="visible"/>
</RelativeLayout>

EditText位于视图的底部,但由于某种原因,它并不紧贴底部..

仔细检查时我已经看到布局正好位于底部 - 但内部白色背景并未覆盖整个布局(有点像ImageView尺寸大于布局尺寸而你使用scaleType) ..

对我来说,EditText会紧紧抓住底层......任何想法都非常重要吗?

更新:添加截屏:

screenShot

如您所见 - editText白色背景的底部未对齐到屏幕底部...虽然布局本身已对齐

2 个答案:

答案 0 :(得分:5)

在Android中,所有小部件都有一些来自其他视图的填充和边距,以提高可见性。 每个小部件都有4 dp边距和8 dp填充。如果您不希望这样,您可以创建自定义视图。

目前,请尝试底部的边距为负像素。

android:layout_marginBottom="-4dp"

在我的布局上工作正常

答案 1 :(得分:0)

试试这个,我就像那个屏幕一样。

enter image description here

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
    android:id="@+id/empty"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:gravity="center"

    android:text="@string/whos_around_empty_text"
    android:background="@drawable/defaultbg"
    android:textAppearance="@android:style/TextAppearance.Medium"
    android:textColor="@android:color/white"
    android:textStyle="bold" />

<RelativeLayout
    android:id="@id/relative"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" >

    <ImageButton
        android:id="@+list/filter_button"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_alignParentRight="true"
        android:background="@android:color/transparent"
        android:contentDescription="Smalllogo"
        android:scaleType="fitXY"
        android:src="@drawable/filter" />

    <!-- empty view -->

    <EditText
        android:id="@+list/filter"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:hint="Search"
        android:visibility="visible" />
</RelativeLayout>

<ListView
    android:id="@+id/list_view"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/defaultbg"
    android:layout_above="@id/relative"
    android:layout_below="@id/empty"
    android:drawSelectorOnTop="false" />