2017-11-21 3 views
2

イメージとボタンをヘッダーに揃える必要がありますが、割り当てはしていません。私がランドスケープにチェックインすると、不一致に揃う。ここに私のコードです。イメージを等間隔のテキストに整列する

私がデバイスをチェックインしたとき、正しくフィットしていません。

以下はコードと出力画面です(私の出力と実際の出力が必要です)。

重量を使用しましたが、すべてのデバイスで正しくフィットしていません。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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="match_parent" 
    android:orientation="vertical"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="29dp" 
      android:layout_marginTop="16dp" 
      android:background="@color/colorAlabaster"> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignBaseline="@+id/textView9" 
       android:layout_alignBottom="@+id/textView9" 
       android:layout_alignParentLeft="true" 
       android:layout_alignParentStart="true" 
       android:layout_marginLeft="50dp" 
       android:gravity="center" 
       android:text="Retailer" /> 

      <TextView 
       android:id="@+id/textView9" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:layout_centerInParent="true" 
       android:layout_centerVertical="true" 
       android:text="Hari sebelumnya" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_centerHorizontal="true" 
       android:layout_centerVertical="true" 
       android:layout_marginRight="10dp" 
       android:text="Pindahkan ke hari" /> 
     </RelativeLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="20dp" 
      android:orientation="horizontal"> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_marginLeft="8dp" 
       android:layout_weight="1"> 


       <com.hutchison.h3i.newangie.customviews.CircleImageView 
        android:id="@+id/recycle_profile" 
        android:layout_width="@dimen/growth_sell_in_out_icon_size" 
        android:layout_height="@dimen/growth_sell_in_out_icon_size" 
        android:layout_gravity="center" 
        android:layout_marginLeft="16dp" 
        android:src="@drawable/ic_default_profile" /> 

       <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerInParent="true" 
        android:layout_gravity="center" 
        android:layout_marginLeft="8dp" 
        android:orientation="vertical"> 

        <TextView 
         android:id="@+id/recycle_txt_acc_num" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:ellipsize="end" 
         android:maxLines="1" 
         android:singleLine="false" 
         android:text="@string/route_plan_default_number" 
         android:textColor="@color/colorBlack" 
         android:textSize="@dimen/text_size_very_small" /> 

        <TextView 
         android:id="@+id/recycle_txt_acc_name" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:ellipsize="end" 
         android:maxLines="1" 
         android:singleLine="false" 
         android:text="@string/route_plan_default_name" 
         android:textColor="@color/colorCyan" 
         android:textSize="@dimen/text_size_very_small" /> 
       </LinearLayout> 

       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_weight="1"> 

        <android.support.v7.widget.AppCompatButton 
         android:layout_width="86dp" 
         android:layout_height="29dp" 
         android:layout_gravity="center_horizontal" 
         android:gravity="center" 
         android:layout_marginLeft="8dp" 
         android:background="@drawable/border_grey_curve" 
         android:text="Selasa" 
         android:textAllCaps="false" 
         android:textColor="@color/colorBlack" /> 

       </LinearLayout> 

       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_weight=".2"> 

        <ImageView 
         android:layout_width="10dp" 
         android:layout_height="10dp" 
         android:layout_gravity="center" 
         android:layout_marginLeft="10dp" 
         android:background="@drawable/ic_arrow_right" 
         android:gravity="center" 
         android:textColor="@color/colorBlack" 
         android:textSize="16dp" 
         android:textStyle="bold" /> 
       </LinearLayout> 

       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:layout_marginLeft="10dp" 
        android:layout_weight="1"> 

        <android.support.v7.widget.AppCompatButton 
         android:layout_width="86dp" 
         android:layout_height="29dp" 
         android:background="@drawable/border_grey_curve" 
         android:drawablePadding="5dp" 
         android:drawableRight="@drawable/ic_arrow_bottom" 
         android:singleLine="true" 
         android:text="Kamis" 
         android:textAllCaps="false" 
         android:textColor="@color/colorBlack" 
         android:textSize="@dimen/text_size_small" /> 
       </LinearLayout> 
      </LinearLayout> 
     </LinearLayout> 

    </LinearLayout> 
</LinearLayout> 

M Y出力:

enter image description here

実際の出力:ここ

enter image description here

+1

あなたは、私が制約レイアウトを使用したことがない – Anonymous

+0

@Anonymousを編集することが非常に複雑になりましたcontraint layout.Yourデザインとレイアウトを設計再考すべきです。制約レイアウトを使用して同じレイアウトを使用することは可能ですか?または完全に変更する必要がありますか?あなたはどのように示唆できますか? – Walter

+0

はい、あなたは完全に変更する必要があります。コンストレインレイアウトは、相対レイアウトがアドバンスされています – Anonymous

答えて

2

私はあなたのための問題を修正しました。しかし、画面サイズが大きくなると、ボタンと上部の間のサイズも大きくなります。しかし、あなたのレイアウトは乱雑にならないでしょう。より大きな画面サイズでもすべてを固定したい場合は、constraintLayoutを使用する必要があります。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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="match_parent" 
android:orientation="vertical"> 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="29dp" 
    android:layout_marginTop="16dp" 
    android:background="@color/colorPrimaryLight"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/textView9" 
     android:layout_alignBottom="@+id/textView9" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_marginLeft="50dp" 
     android:gravity="center" 
     android:text="Retailer" /> 

    <TextView 
     android:id="@+id/textView9" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_centerInParent="true" 
     android:layout_centerVertical="true" 
     android:text="Hari sebelumnya" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" 
     android:layout_marginRight="10dp" 
     android:text="Pindahkan ke hari" /> 
    </RelativeLayout> 

    <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="20dp" 
    android:orientation="horizontal" 
    android:baselineAligned="false"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginLeft="8dp" 
     android:weightSum="4"> 


     <com.hutchison.h3i.newangie.customviews.CircleImageView 
      android:id="@+id/recycle_profile" 
      android:layout_width="@dimen/growth_sell_in_out_icon_size" 
      android:layout_height="@dimen/growth_sell_in_out_icon_size" 
      android:layout_gravity="center" 
      android:layout_marginLeft="16dp" 
      android:src="@drawable/ic_default_profile" /> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginLeft="8dp" 
      android:layout_weight="0.5" 
      android:orientation="vertical"> 

      <TextView 
       android:id="@+id/recycle_txt_acc_num" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:ellipsize="end" 
       android:maxLines="1" 
       android:singleLine="false" 
       android:text="sad234 234234" 
       android:textColor="@color/primary_text" 
       android:textSize="12sp" /> 

      <TextView 
       android:id="@+id/recycle_txt_acc_name" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:ellipsize="end" 
       android:maxLines="1" 
       android:singleLine="false" 
       android:text="@string/title_activity_test" 
       android:textColor="@color/secondary_text" 
       android:textSize="12sp" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_weight="1.5"> 

      <android.support.v7.widget.AppCompatButton 
       android:layout_width="match_parent" 
       android:layout_height="30dp" 
       android:layout_gravity="center_horizontal" 
       android:layout_marginLeft="8dp" 
       android:background="@drawable/bg_spinner_nothing_selected" 
       android:gravity="center" 
       android:text="Selasa" 
       android:textAllCaps="false" 
       android:textColor="@color/primary_text" /> 

     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_gravity="center" 
      android:layout_weight=".5"> 

      <ImageView 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:layout_gravity="center" 
       android:layout_marginLeft="10dp" 
       android:background="@drawable/ic_add" 
       android:gravity="center" 
       android:textColor="@color/primary_text" 
       android:textSize="16dp" 
       android:textStyle="bold" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:layout_marginLeft="10dp" 
      android:layout_weight="1.5"> 

      <android.support.v7.widget.AppCompatButton 
       android:layout_width="match_parent" 
       android:layout_height="30dp" 
       android:background="@drawable/bg_spinner_nothing_selected" 
       android:drawableRight="@drawable/ic_edit_grey" 
       android:singleLine="true" 
       android:text="Kamis" 
       android:textAllCaps="false" 
       android:textColor="@color/primary_text" 
       android:textSize="14sp" /> 
     </LinearLayout> 
    </LinearLayout> 
    </LinearLayout> 

</LinearLayout> 

ご希望の場合はお手数ですが、私は色とic_imagesを私のものに置き換えました。あなたは自分自身でそれを変更しなければなりません。

+0

私は直面している1つの問題は、テキストが増加すると、ボックスが移動し、 Eventhough singleLineがtrueで、maxLines = 1が指定されています。 – Walter

+0

@Walterボックスセットlayout_width = 0dpを修正して、重さを設定すると、テキストのサイズに関係なくその位置が固定されます。 :) – Umair

0

これがうまくいくと思います。私はあなたの同じXMLファイルで再設計します。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 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="match_parent" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="29dp" 
     android:layout_marginTop="16dp" 
     android:background="@color/colorAlabaster"> 

     <TextView 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:text="Retailer" /> 
     <TextView 
      android:id="@+id/textView9" 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:text="Hari sebelumnya" /> 
     <TextView 
      android:layout_width="0dp" 
      android:layout_weight=".2" 
      android:layout_height="wrap_content" 
      android:gravity="center" /> 
     <TextView 
      android:layout_width="0dp" 
      android:layout_weight="1" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:text="Pindahkan ke hari" /> 

    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="20dp" 
     android:orientation="horizontal"> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:layout_marginLeft="8dp" 
      android:layout_weight="1"> 




      <LinearLayout 
       android:layout_weight="1" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:orientation="horizontal"> 
       <com.hutchison.h3i.newangie.customviews.CircleImageViewx 
        android:id="@+id/recycle_profile" 
        android:layout_width="@dimen/growth_sell_in_out_icon_size" 
        android:layout_height="@dimen/growth_sell_in_out_icon_size" 
        android:layout_gravity="center" 
        android:layout_marginLeft="16dp" 
        android:src="@drawable/ic_default_profile" /> 
       <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 

        android:orientation="vertical"> 
       <TextView 
        android:id="@+id/recycle_txt_acc_num" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:ellipsize="end" 
        android:maxLines="1" 
        android:singleLine="false" 
        android:text="@string/route_plan_default_number" 
        android:textColor="@color/colorBlack" 
        android:textSize="@dimen/text_size_very_small" /> 

       <TextView 
        android:id="@+id/recycle_txt_acc_name" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:ellipsize="end" 
        android:maxLines="1" 
        android:singleLine="false" 
        android:text="@string/route_plan_default_name" 
        android:textColor="@color/colorCyan" 
        android:textSize="@dimen/text_size_very_small" /> 
      </LinearLayout> 
      </LinearLayout> 

      <LinearLayout 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:layout_weight="1"> 

       <android.support.v7.widget.AppCompatButton 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:gravity="center" 
        android:background="@drawable/border_grey_curve" 
        android:text="Selasa" 
        android:textAllCaps="false" 
        android:textColor="@color/colorBlack" /> 

      </LinearLayout> 
      <LinearLayout 
       android:layout_weight=".2" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:gravity="center"> 
       <ImageView 
        android:layout_width="10dp" 
        android:layout_height="10dp" 
        android:layout_gravity="center" 
        android:background="@drawable/ic_arrow_right" 
        android:gravity="center" 
        android:textColor="@color/colorBlack" 
        android:textSize="16dp" 
        android:textStyle="bold" /> 
      </LinearLayout> 


      <LinearLayout 
       android:layout_width="0dp" 
       android:gravity="center" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_weight="1"> 

       <android.support.v7.widget.AppCompatButton 
        android:layout_width="86dp" 
        android:layout_height="29dp" 
        android:background="@drawable/border_grey_curve" 
        android:drawablePadding="5dp" 
        android:drawableRight="@drawable/ic_arrow_bottom" 
        android:singleLine="true" 
        android:text="Kamis" 
        android:textAllCaps="false" 
        android:textColor="@color/colorBlack" 
        android:textSize="@dimen/text_size_small" /> 
      </LinearLayout> 
     </LinearLayout> 
    </LinearLayout> 

</LinearLayout> 
+0

まだ私は設計の問題を抱えています。テキストが増加すると、2つのボタンが不適切です。 – Walter

+0

長いテキストがある場合、ボタンテキストは次の行に移動しますか? – Naz141

+0

ボタンではありません。画像ビューテキストの近くにあります。 – Walter

関連する問題