在Android

时间:2015-10-21 10:24:59

标签: java android layout autocompletetextview

我尝试将以下AutoCompleteTextView(类型组位置..)和TextView(Radius)对齐到左侧,关于顶部ImageView。

enter image description here

正如您所看到的,它不起作用。 这是我的xml布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingRight="0dp">


<ImageView
        android:id="@+id/icon"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_alignParentLeft="true"/>

    <AutoCompleteTextView
        android:id="@+id/autocomplete_textview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/icon"
        android:layout_below="@+id/icon"
        android:paddingBottom="0dp"
        android:inputType="textAutoComplete"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/radiusText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/autocomplete_textview"
        android:layout_alignLeft="@+id/icon"
        android:textSize="16sp"
        android:paddingTop="5dp"/>

</RelativeLayout>

我已经尝试过但失败了:

将TextView与AutoCompleteTextView对齐,并将两个视图与父视图对齐。

我怀疑AutoCompleteTextView有一些透明的尾随,或者我错过了什么。

3 个答案:

答案 0 :(得分:1)

至少找到我的解决方案。

由于某种原因,AutoCompleteTextView具有默认填充,一旦我将paddingLeft设置为0,它就解决了问题。 :)

答案 1 :(得分:0)

将以下行添加到AutoCompleteTextView和TextView

  android:layout_marginLeft="30dp"

答案 2 :(得分:-1)

如果你想这样: Vertical

然后使用垂直Linearlayout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="20dp">


<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="20dp"
    android:id="@+id/imageView5" 
    android:src="@drawable/ic_setting_light"/>

<AutoCompleteTextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:hint="Location here"/>

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:hint="Radius(in meters)"/>

</LinearLayout>

或者如果你想这样: Horizontal

使用水平LinearLayout和权重:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3"
android:layout_marginTop="20dp">


<RelativeLayout
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="0.5">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_setting_light"
        android:layout_centerInParent="true"/>

</RelativeLayout>
<RelativeLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1.5">
     <AutoCompleteTextView
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:hint="Location"
     android:layout_centerInParent="true"
     />
</RelativeLayout>


<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0">
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Radius (m)"
        android:layout_centerInParent="true"
         />
</RelativeLayout>
</LinearLayout>

将图像替换为您的房屋并提供所需的ID。 希望能帮助到你。 谢谢。