我有以下观点:
每次我编辑搜索EditText时(即使没有文本更改,只是聚焦),我的视图会这样做:
我的XML代码是:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:windowSoftInputMode="adjustNothing"
tools:context="garbi.mx.garbi.Home">
<!-- The main content view -->
<RelativeLayout
android:id="@+id/mainContent"
android:layout_width="match_parent"
android:background="#ffffff"
android:layout_height="match_parent" >
<FrameLayout
android:layout_marginTop="80dp"
android:layout_marginBottom="140dp"
android:id="@+id/mapFrame"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/map"
android:layout_marginTop="10dp"
android:layout_margin="10dp"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/geolocation"
android:layout_marginRight="20dp"
android:onClick="centerMap"
android:layout_marginBottom="30dp"
android:background="#00ffffff"
android:layout_gravity="bottom|right"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/marker"
android:layout_gravity="center" />
</FrameLayout>
<TextView
android:layout_marginTop="15dp"
android:layout_width="match_parent"
android:text="¿Dónde se encuentra tu coche?"
android:textColor="#43B9BD"
android:textStyle="bold"
android:gravity="center"
android:layout_height="25dp"
android:id="@+id/textView" />
<!--<EditText
android:id="@+id/places_autocomplete"
android:layout_width="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="30dp"
android:textSize="14dp"
android:layout_height="55dp"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/imageView" />-->
<com.seatgeek.placesautocomplete.PlacesAutocompleteTextView
android:id="@+id/places_autocomplete"
android:layout_width="match_parent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="30dp"
android:textSize="14dp"
android:layout_height="55dp"
app:pacv_googleMapsApiKey="AIzaSyBjn1_8gclbpsRvfO6ndKQKEuCLUaARw5s"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/imageView" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/search"
android:layout_below="@+id/textView"
android:layout_alignParentStart="true"
android:layout_marginStart="16dp"
android:id="@+id/imageView"
android:layout_alignBottom="@+id/places_autocomplete" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:orientation="horizontal"
android:weightSum="2"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp"
android:layout_above="@+id/imageButton">
<Button
android:layout_margin="5dp"
android:layout_width="0dp"
android:padding="5dp"
android:layout_height="50dp"
android:background="@drawable/field_small"
android:textAllCaps="false"
android:textColor="@color/textColor"
android:onClick="setCar"
android:id="@+id/carButton"
android:text="Agregar \nVehículo"
android:layout_weight="1"/>
<Button
android:layout_margin="5dp"
android:layout_width="0dp"
android:layout_height="50dp"
android:background="@drawable/field_small"
android:textAllCaps="false"
android:onClick="setPayment"
android:id="@+id/paymentButton"
android:textColor="@color/textColor"
android:text="Agregar \nMétodo de pago"
android:layout_weight="1"/>
</LinearLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Solicitar Garbi"
android:textSize="16dp"
android:textAllCaps="false"
android:textStyle="bold"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:textColor="#ffffff"
android:background="@drawable/large_button"
android:id="@+id/imageButton"
android:onClick="request"
android:layout_marginBottom="15dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
<!-- The navigation drawer -->
<RelativeLayout
android:layout_width="280dp"
android:layout_height="match_parent"
android:id="@+id/drawerPane"
android:layout_gravity="start">
<!-- Profile Box -->
<RelativeLayout
android:id="@+id/profileBox"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="@color/colorAccent"
android:onClick="editProfile"
android:padding="8dp" >
<ImageView
android:id="@+id/avatar"
android:layout_width="75dp"
android:layout_height="75dp"
android:src="@drawable/rain"
android:layout_marginTop="15dp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:layout_toRightOf="@+id/avatar"
android:orientation="vertical" >
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginTop="15dp" />
<TextView
android:layout_marginTop="-10dp"
android:id="@+id/userName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Isabel Tapia Reyes"
android:textColor="#fff"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
</RelativeLayout>
<!-- List of Actions (pages) -->
<ListView
android:layout_marginTop="100dp"
android:id="@+id/navList"
android:layout_width="280dp"
android:layout_height="match_parent"
android:choiceMode="singleChoice"
android:divider="@null"
android:dividerHeight="0dp"
android:background="#ffffffff"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
尝试它让我觉得这与按钮内的文本长度有关(它们是动态的)。如果按钮有多行,它将被推下。一行没问题。
答案 0 :(得分:1)
您可以按照以下两个选项之一进行操作:
1. 添加 android:baselineAligned="false"
到包含按钮的LinearLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_above="@+id/imageButton"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:baselineAligned="false"
android:orientation="horizontal"
android:weightSum="2">
2. 使用 android:layout_height="match_parent"
让子元素在文本更改时平均增长
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/imageButton"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:orientation="horizontal"
android:weightSum="2">
<Button
android:id="@+id/carButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:layout_weight="1"
android:onClick="setCar"
android:padding="5dp"
android:text="Agregar \nVehículTestTestTestTestTest"
android:textAllCaps="false"
android:textColor="@color/color_black" />
<Button
android:id="@+id/paymentButton"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:layout_weight="1"
android:onClick="setPayment"
android:text="Agregar \nMétodo de pago"
android:textAllCaps="false"
android:textColor="@color/color_black" />
</LinearLayout>