2016-07-06 7 views
2

ButtonコンポーネントとTextViewコンポーネントを垂直に整列させ、中央に配置しようとしています。お互いの間に少しの間隔もあります。今、彼らはお互いの頭上にあります。ボタンとテキストビューのコンポーネントを垂直に整列する

enter image description here

XML:

<RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/dueDateSection" 
     android:layout_below="@+id/editSection" 
     android:paddingBottom="@dimen/activity_edit_item_layout_vertical_margin" 
     android:paddingTop="@dimen/activity_edit_item_layout_vertical_margin" 
     android:gravity="center_vertical"> 

     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/btnDatePicker" 
      android:text="Select Date" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/btnDatePicker" 
      android:textSize="22sp" 
      android:gravity="center" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:layout_alignBottom="@id/btnDatePicker" /> 

    </RelativeLayout> 
+1

使用リニアレイアウト............... – sushildlh

答えて

1

使用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"> 

<Button 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="B1"/> 

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="YOUR TEXT"/> 

</LinearLayout> 

これが役立ちます。

2

使用この....

<LinearLayout android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/dueDateSection" 
    android:orientation="vertical" 
    android:gravity="center" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 



    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/btnDatePicker" 
     android:marginRight="5dp" 
     android:text="Select Date"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/btnDatePicker" 
     android:textSize="22sp" 
     android:text="Hi this is simple"/> 



</LinearLayout> 
android:orientation="vertical"属性を持つ

output

2
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/dueDateSection" 
    android:layout_below="@+id/editSection" 
    android:paddingBottom="15dp" 
    android:paddingTop="15dp" 
    android:gravity="center_vertical"> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:orientation="vertical"> 
     <Button 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/btnDatePicker" 
      android:text="Select Date" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/btnDatePicker" 
      android:textSize="22sp" 
      android:text="CORE JAVA" 
      /> 
    </LinearLayout> 


</RelativeLayout> 

this will look like this

2

ただ、上記の回答にに追加するすべてのあなたのコンポーネントを、垂直方向(または水平)整列させたい時はいつでも、あなたはリニアレイアウトを使用して好む必要があります。

相対レイアウトでは、コンポーネントが他のコンポーネントに対して配置されているため、レイアウトの複雑さが増します。また、デザインを使用してレイアウトを生成すると効果的ではありません。あなたが将来的にそれを使用している場合は、リニアレイアウト上の

いくつかのヒント:コンポーネントの

  1. 使用android:orientation="vertical"が垂直に配向します。 android:orientation="horizontal"コンポーネントを水平に整列させます。

  2. 使用weightSumおよび体重、以下に示すとおり

    <Button 
        android:layout_width="wrap_content" 
        android:layout_height="0dp" 
        android:text="New Button" 
        android:id="@+id/button" 
        android:layout_gravity="center_horizontal" 
        android:layout_weight="1" /> 
    
    <EditText 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:id="@+id/editText" 
        android:layout_gravity="center_horizontal" 
        android:layout_weight="2" /> 
    
    <Button 
        android:layout_width="wrap_content" 
        android:layout_height="0dp" 
        android:text="New Button" 
        android:id="@+id/button2" 
        android:layout_gravity="center_horizontal" 
        android:layout_weight="1" /> 
    
    <EditText 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:id="@+id/editText2" 
        android:layout_gravity="center_horizontal" 
        android:layout_weight="2" /> 
    
    ここ

レイアウト12の総重量が割り当てられ、子供は、異なる重みが割り当てられます、(ボタンの編集の高さの比率は1であり、4人の子供はすべて一緒にレイアウトの合計高さの半分を占めている)すべての子供たちのTS一緒に入れて6とweightSumが12である)

Linear Layout

関連する問題