2017-08-11 14 views
5

Tôi cũng mới ở ConstraintLayout trong Android và newbie cho Android. Tôi có một câu hỏi. Có nên sử dụng LinearLayout bên trong ConstraintLayout không? Ví dụ:Bạn có nên sử dụng LinearLayout bên trong ConstraintLayout trong Android không?

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    app:srcCompat="@drawable/landing_screen" 
    android:layout_height="match_parent" 
    tools:context="com.braigolabs.braigo.landing.LandingActivity"> 

    <ImageView 
     android:id="@+id/imageView" 
     android:layout_width="0dp" 
     android:layout_height="0dp" 
     android:scaleType="centerCrop" 
     app:srcCompat="@drawable/landing_screen" 
     app:layout_constraintTop_toTopOf="parent" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintRight_toRightOf="parent" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintVertical_bias="1.0" 
     app:layout_constraintHorizontal_bias="1.0" 
     tools:layout_constraintTop_creator="1" 
     tools:layout_constraintRight_creator="1" 
     tools:layout_constraintBottom_creator="1" 
     tools:layout_constraintLeft_creator="1"/> 

    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     tools:layout_editor_absoluteX="0dp" 
     tools:layout_editor_absoluteY="51dp"> 

     <TextView 
      android:id="@+id/textView" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginEnd="66dp" 
      android:layout_marginStart="66dp" 
      android:gravity="center" 
      android:text="@string/login_welcome_braigolabs"    android:textAppearance="@style/TextAppearance.AppCompat.Large" 
      tools:layout_editor_absoluteX="93dp" 
      tools:layout_editor_absoluteY="403dp"/> 

     <Button 
      android:id="@+id/login_button" 
      style="@style/Widget.AppCompat.Button.Colored" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:elevation="2dp" 
      android:text="@string/login_login_button_title" 
      android:textAllCaps="false" 
      tools:layout_editor_absoluteX="116dp" 
      tools:layout_editor_absoluteY="543dp"/> 
    </LinearLayout> 
</android.support.constraint.ConstraintLayout> 

Bạn cũng tò mò muốn biết mức độ phổ biến của các nhà phát triển?

Trả lời

9

Bạn có nên sử dụng LinearLayout bên trong ConstraintLayout không?

Không ... thường.

Nói chung, ý tưởng đằng sau ConstraintLayout là nó cho phép bạn định vị tất cả con bạn mà không cần phải giữ bất kỳ số nào khác trong số ViewGroup s bên trong ConstraintLayout. Như vậy, tôi sẽ nói rằng nó không phải là khuyến khích.

Tuy nhiên, có một số điều mà một LinearLayout thể làm điều đó một ConstraintLayout không thể (chủ yếu xoay quanh khoảng cách có trọng số lượt xem), và vì vậy nếu bạn cần những trường hợp góc đặc biệt trong cách bố trí của bạn, bạn sẽ không có bất kỳ tùy chọn nào khác ngoài việc quay trở lại LinearLayout.

mức độ phổ biến của ConstraintLayout giữa các nhà phát triển là gì?

ConstraintLayout là tương đối mới, nhưng nó khá mạnh mẽ và chắc chắn là điều bạn nên làm quen với. Nó sẽ không phải lúc nào cũng là công cụ hoàn hảo cho công việc trong tầm tay, nhưng nó thường sẽ cho phép bạn dễ dàng tạo các bố cục mà bạn sẽ dành hàng giờ.

Tôi không thể nói với số liệu thống kê nhận con nuôi rộng rãi, nhưng tôi có thể nói rằng tôi đã thấy rất nhiều câu hỏi trên trang web này về cách sử dụng chính xác của ConstraintLayout, vì vậy các nhà phát triển rõ ràng đang bắt đầu làm việc với nó.

+0

Hoàn hảo. Cảm ơn @Ben. Tại sao một người nào đó đặt một downvote? Đây là một câu hỏi khá phù hợp. – TechBee

+0

Tôi không thể nói chắc chắn, nhưng tôi tin rằng câu hỏi của bạn là, nói rộng rãi, yêu cầu _opinion_ thay vì trình bày một vấn đề lập trình cụ thể. Điều này thường được coi là không có chủ đề. –

Các vấn đề liên quan