2016-06-30 9 views
0

今私はのEditTextがバックボタンの右側に横たわっていたいが、それは次のようになります。レイアウト問題

enter image description here

XMLコード:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:toolBar="http://schemas.android.com/apk/res-auto" 
android:id="@+id/toolbar" 
android:layout_width="match_parent" 
android:layout_height="80dp" 
android:background="@color/color_0176da" 
android:fitsSystemWindows="true"> 
<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <Button 
     android:id="@+id/search_back_button" 
     android:layout_width="30dp" 
     android:layout_height="29dp" 
     android:background="@drawable/back_angle" 
     android:layout_alignParentStart="true" 
     android:layout_centerVertical="true"/> 
    <EditText 
     android:id="@+id/search_editText" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_alignEnd="@id/search_back_button" 
     android:background="@null" 
     android:textCursorDrawable="@null" 
     android:textColor="@color/color_white" 
     android:hint="@string/search_hint" 
     android:textColorHint="@color/color_white"/> 
</RelativeLayout> 

どうすればいいですか?

答えて

1

あなたは代わりにRelativeLayoutを使用しての、あなたは、単に水平方向のLinearLayoutを使用することができます

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="80dp" 
    android:background="@color/color_0176da" 
    android:fitsSystemWindows="true" > 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <Button 
      android:id="@+id/search_back_button" 
      android:layout_width="30dp" 
      android:layout_height="29dp" 
      android:layout_centerVertical="true" 
      android:background="@drawable/back_angle" /> 

     <EditText 
      android:id="@+id/search_editText" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_toRightOf="@+id/search_back_button" 
      android:background="@null" 
      android:hint="search_hint" 
      android:padding="10dp" 
      android:textColor="@color/color_white" 
      android:textColorHint="@color/color_white" 
      android:textCursorDrawable="@null" /> 
    </RelativeLayout > 
</android.support.v7.widget.Toolbar > 
+0

ありがとうございました!私はtoEndOFとalignBaselineを使用し、問題は解決されました。しかし、新しい問題が発生します:EditTextをクリックし、キーボードがポップアップした後、ツールバーのすべてが消えました。なにが問題ですか? –

0

layout_toRightOfを追加し、layout_alignParentStartを削除し、layout_alignEndプロパティことができます。次のように 補正は次のようになります。

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:toolBar="http://schemas.android.com/apk/res-auto" 
android:id="@+id/toolbar" 
android:layout_width="match_parent" 
android:layout_height="80dp" 
android:background="@color/color_0176da" 
android:fitsSystemWindows="true"> 
<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <Button 
     android:id="@+id/search_back_button" 
     android:layout_width="30dp" 
     android:layout_height="29dp" 
     android:background="@drawable/back_angle" 
     android:layout_alignParentStart="true" 
     android:layout_centerVertical="true"/> 
    <EditText 
     android:id="@+id/search_editText" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_alignEnd="@id/search_back_button" 
     android:background="@null" 
     android:textCursorDrawable="@null" 
     android:textColor="@color/color_white" 
     android:hint="@string/search_hint" 
     android:textColorHint="@color/color_white"/> 
</LinearLayout> 
0
@Override 
     public boolean onCreateOptionsMenu(Menu menu) { 

      EditText tv = new EditText(this); 
      tv.setPadding(7, 0, 7, 0); 
      tv.setTextSize(14); 
      menu.add(0, 2, 1, "").setActionView(tv).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); 
}