Xamarin Android LinearLayoutXamarin.Android LinearLayout

LinearLayout ViewGroupLinearLayout is a ViewGroup 자식 View 를 표시 합니다.that displays child View 가로 또는 세로로 선형 방향의 요소elements in a linear direction, either vertically or horizontally.

LinearLayout를 과도 하 게 사용 하는 데 주의 해야 합니다.You should be careful about over-using the LinearLayout. 여러 LinearLayouts를 중첩 하기 시작 하는 경우 RelativeLayout 사용을 고려할 수 있습니다.If you begin nesting multiple LinearLayouts, you may want to consider using a RelativeLayout 대신.instead.

HelloLinearLayout라는 새 프로젝트를 시작 합니다.Start a new project named HelloLinearLayout.

리소스/레이아웃/기본. axml 을 열고 다음을 삽입 합니다.Open Resources/Layout/Main.axml and insert the following:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation=    "vertical"
    android:layout_width=    "match_parent"
    android:layout_height=    "match_parent"    >

  <LinearLayout
      android:orientation=    "horizontal"
      android:layout_width=    "match_parent"
      android:layout_height=    "match_parent"
      android:layout_weight=    "1"    >
      <TextView
          android:text=    "red"
          android:gravity=    "center_horizontal"
          android:background=    "#aa0000"
          android:layout_width=    "wrap_content"
          android:layout_height=    "match_parent"
          android:layout_weight=    "1"    />
      <TextView
          android:text=    "green"
          android:gravity=    "center_horizontal"
          android:background=    "#00aa00"
          android:layout_width=    "wrap_content"
          android:layout_height=    "match_parent"
          android:layout_weight=    "1"    />
      <TextView
          android:text=    "blue"
          android:gravity=    "center_horizontal"
          android:background=    "#0000aa"
          android:layout_width=    "wrap_content"
          android:layout_height=    "match_parent"
          android:layout_weight=    "1"    />
      <TextView
          android:text=    "yellow"
          android:gravity=    "center_horizontal"
          android:background=    "#aaaa00"
          android:layout_width=    "wrap_content"
          android:layout_height=    "match_parent"
          android:layout_weight=    "1"    />
  </LinearLayout>
        
  <LinearLayout
    android:orientation=    "vertical"
    android:layout_width=    "match_parent"
    android:layout_height=    "match_parent"
    android:layout_weight=    "1"    >
    <TextView
        android:text=    "row one"
        android:textSize=    "15pt"
        android:layout_width=    "match_parent"
        android:layout_height=    "wrap_content"
        android:layout_weight=    "1"    />
    <TextView
        android:text=    "row two"
        android:textSize=    "15pt"
        android:layout_width=    "match_parent"
        android:layout_height=    "wrap_content"
        android:layout_weight=    "1"    />
    <TextView
        android:text=    "row three"
        android:textSize=    "15pt"
        android:layout_width=    "match_parent"
        android:layout_height=    "wrap_content"
        android:layout_weight=    "1"    />
    <TextView
        android:text=    "row four"
        android:textSize=    "15pt"
        android:layout_width=    "match_parent"
        android:layout_height=    "wrap_content"
       android:layout_weight=    "1"    />
  </LinearLayout>

</LinearLayout>

이 XML을 신중 하 게 검사 합니다.Carefully inspect this XML. 루트 LinearLayoutThere is a root LinearLayout 세로 방향으로 해당 방향을 정의 하는 – 모든 자식 Views (2 개 포함)는 세로로 누적 됩니다.that defines its orientation to be vertical – all child Views (of which it has two) will be stacked vertically. 첫 번째 자식은 다른 LinearLayoutThe first child is another LinearLayout 가로 방향을 사용 하 고 두 번째 자식은 LinearLayoutthat uses a horizontal orientation and the second child is a LinearLayout 세로 방향을 사용 하는입니다.that uses a vertical orientation. 이러한 각각의 중첩 된 LinearLayouts에는 여러 TextView 포함 되어 있습니다.Each of these nested LinearLayouts contain several TextView 요소는 부모 LinearLayout에서 정의 된 방식으로 서로 지향 됩니다.elements, which are oriented with each other in the manner defined by their parent LinearLayout.

이제 HelloLinearLayout.cs 을 열고 리소스/레이아웃/주. axml OnCreate() 레이아웃을 로드 하도록 합니다.Now open HelloLinearLayout.cs and be sure it loads the Resources/Layout/Main.axml layout in the OnCreate() 방법이method:

protected override void OnCreate (Bundle savedInstanceState)
{
    base.OnCreate (savedInstanceState);
    SetContentView (Resource.Layout.Main);
}

SetContentView(int)) 메서드는 리소스 ID –으로 지정 된 Activity에 대 한 레이아웃 파일을 로드 Resources.Layout.MainResources/layout/Main. axml 레이아웃 파일을 참조 합니다.The SetContentView(int)) method loads the layout file for the Activity, specified by the resource ID – Resources.Layout.Main refers to the Resources/Layout/Main.axml layout file.

애플리케이션을 실행합니다.Run the application. 다음이 표시 됩니다.You should see the following:

세로로 정렬 된 앱의스크린샷, 세로로 두 번째 LinearLayoutScreenshot of app first LinearLayout arranged horizontally, second vertically

XML 특성이 각 뷰의 동작을 정의 하는 방법을 확인 합니다.Notice how the XML attributes define each View's behavior. android:layout_weight에 대 한 다양 한 값을 시험해 보고 각 요소의 가중치를 기준으로 화면 부동산을 분산 하는 방법을 확인 합니다.Try experimenting with different values for android:layout_weight to see how the screen real estate is distributed based on the weight of each element. 방법에 대 한 자세한 내용은 공용 레이아웃 개체 문서를 참조 하세요 LinearLayoutSee the Common Layout Objects document for more about how LinearLayout android:layout_weight 특성을 처리 합니다.handles the android:layout_weight attribute.

참조 항목References

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유 하 고 Creative Commons 2.5 특성 라이선스에 설명 된 용어에 따라 사용 되는 작업을 기반으로 수정 됩니다.Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.