2013-01-22 6 views
1

LinearLayout 안에 여러 개 배치하려고합니다. 코드를 구현하고 실행했을 때 아무 것도 표시되지 않고 배경 이미지 만 표시되었습니다. 무슨 일이 일어 났는지 모르겠다.LinearLayout 내의 여러 TableLayouts - Android

내가 이것을 시도하기 전에, 나는 모든 것을 정확하게 보여 주었지만, 너무 많은 텍스트가있어서 모든 것을 적합하게 만들어야했다. 이 문제를 해결하려면 중간에 하나가 ScrollView 인 3 TableLayout을 수행하고 싶습니다 (당면 문제를 해결 한 후에 ScrollView을 구현하는 것에 대해 걱정할 것입니다).

제 질문은 각각의 화면을 특정 비율로 볼 수 있도록하는 방법입니다.

아래는이 XML 파일의 코드 100 %입니다.

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/tableLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:stretchColumns="1" 
    android:shrinkColumns="0" 
    android:orientation="vertical" 
    android:paddingLeft="16dp" 
    android:paddingRight="16dp" 
    android:paddingTop="70dp" 
    android:paddingBottom="70dp" 
    android:background="@drawable/scroll" >  

    <TableLayout 
     android:layout_width="wrap_content" 
     android:layout_height="0dip" 
     android:layout_weight="15" > 

     <TableRow 
      android:id="@+id/header" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" > 

      <TextView 
       android:id="@+id/category" 
       android:layout_height="wrap_content" 
       android:layout_width="0px" 
       android:layout_weight="1" 
       android:textStyle="bold" 
       android:textSize="15sp" 
       android:paddingTop="10dp" 
       android:gravity="center_horizontal" /> 

      <TableLayout 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" > 

       <TableRow 
        android:layout_width="0dip" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" > 

        <TextView 
         android:id="@+id/points" 
         android:layout_width="0dip" 
         android:layout_height="wrap_content" 
         android:layout_weight=".25" 
         android:textSize="7sp" 
         android:gravity="left" 
         android:textStyle="bold" /> 
       </TableRow> 

       <TableRow 
        android:layout_width="0dip" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" > 

        <TextView 
         android:id="@+id/percentage" 
         android:layout_width="0dip" 
         android:layout_height="wrap_content" 
         android:layout_weight=".3" 
         android:textSize="7sp" 
         android:gravity="left" 
         android:textStyle="bold" /> 
       </TableRow> 

       <TableRow 
        android:layout_width="0dip" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" > 

        <TextView 
         android:id="@+id/total_score" 
         android:layout_width="0dip" 
         android:layout_height="wrap_content" 
         android:layout_weight=".45" 
         android:textSize="7sp" 
         android:gravity="left" 
         android:textStyle="bold" /> 
       </TableRow> 
      </TableLayout> 
     </TableRow> 

     <View 
      android:layout_width="fill_parent" 
      android:layout_height="1dp"  
      android:background="#000001" /> 

     <TableRow 
      android:id="@+id/row3" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" > 

      <TextView 
       android:id="@+id/imageColumn" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="0" /> 

      <TextView 
       android:id="@+id/questionColumn" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".45" 
       android:textSize="10sp" 
       android:textStyle="bold|italic" 
       android:gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/answerColumn" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:textSize="10sp" 
       android:textStyle="bold|italic" 
       android:gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/verseColumn" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".25" 
       android:textSize="10sp" 
       android:textStyle="bold|italic" 
       android:gravity="center_vertical" /> 
     </TableRow> 
    </TableLayout> 

    <ScrollView 
     android:layout_width="wrap_content" 
     android:layout_height="0dip" 
     android:layout_weight="70" > 

    <TableLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <TableRow 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" > 

      <ImageView 
       android:id="@+id/q1Image" 
       android:layout_width="10dp" 
       android:layout_height="10dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q1Question" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".45" 
       android:textSize="7sp" 
       android:paddingLeft="2dp" 
       android:paddingRight="2dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q1Answer" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q1Verse" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".25" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 
     </TableRow> 

     <View 
      android:layout_width="fill_parent" 
      android:layout_height="1dp"  
      android:background="#C2BEBF" /> 

     <TableRow 
      android:id="@+id/row5" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:stretchColumns="0,1,2,3" 
      android:layout_weight="1" > 

      <ImageView 
       android:id="@+id/q2Image" 
       android:layout_width="10dp" 
       android:layout_height="10dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q2Question" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".45" 
       android:textSize="7sp" 
       android:paddingLeft="2dp" 
       android:paddingRight="2dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q2Answer" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q2Verse" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".25" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 
     </TableRow> 

     <View 
      android:layout_width="fill_parent" 
      android:layout_height="1dp"  
      android:background="#C2BEBF" /> 

     <TableRow 
      android:id="@+id/row6" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:stretchColumns="0,1,2,3" 
      android:layout_weight="1" > 

      <ImageView 
       android:id="@+id/q3Image" 
       android:layout_width="10dp" 
       android:layout_height="10dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q3Question" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".45" 
       android:textSize="7sp" 
       android:paddingLeft="2dp" 
       android:paddingRight="2dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q3Answer" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q3Verse" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".25" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 
     </TableRow> 

     <View 
      android:layout_width="fill_parent" 
      android:layout_height="1dp"  
      android:background="#C2BEBF" /> 

     <TableRow 
      android:id="@+id/row7" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:stretchColumns="0,1,2,3" 
      android:layout_weight="1" > 

      <ImageView 
       android:id="@+id/q4Image" 
       android:layout_width="10dp" 
       android:layout_height="10dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q4Question" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".45" 
       android:textSize="7sp" 
       android:paddingLeft="2dp" 
       android:paddingRight="2dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q4Answer" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q4Verse" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".25" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 
     </TableRow> 

     <View 
      android:layout_width="fill_parent" 
      android:layout_height="1dp"  
      android:background="#C2BEBF" /> 

     <TableRow 
      android:id="@+id/row8" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:stretchColumns="0,1,2,3" 
      android:layout_weight="1" > 

      <ImageView 
       android:id="@+id/q5Image" 
       android:layout_width="10dp" 
       android:layout_height="10dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q5Question" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".45" 
       android:textSize="7sp" 
       android:paddingLeft="2dp" 
       android:paddingRight="2dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q5Answer" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q5Verse" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".25" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 
     </TableRow> 

     <View 
      android:layout_width="fill_parent" 
      android:layout_height="1dp"  
      android:background="#C2BEBF" /> 

     <TableRow 
      android:id="@+id/row9" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:stretchColumns="0,1,2,3" 
      android:layout_weight="1" > 

      <ImageView 
       android:id="@+id/q6Image" 
       android:layout_width="10dp" 
       android:layout_height="10dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q6Question" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".45" 
       android:textSize="7sp" 
       android:paddingLeft="2dp" 
       android:paddingRight="2dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q6Answer" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q6Verse" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".25" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 
     </TableRow> 

     <View 
      android:layout_width="fill_parent" 
      android:layout_height="1dp"  
      android:background="#C2BEBF" /> 

     <TableRow 
      android:id="@+id/row10" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:stretchColumns="0,1,2,3" 
      android:layout_weight="1" > 

      <ImageView 
       android:id="@+id/q7Image" 
       android:layout_width="10dp" 
       android:layout_height="10dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q7Question" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".45" 
       android:textSize="7sp" 
       android:paddingLeft="2dp" 
       android:paddingRight="2dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q7Answer" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q7Verse" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".25" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 
     </TableRow> 

     <View 
      android:layout_width="fill_parent" 
      android:layout_height="1dp"  
      android:background="#C2BEBF" /> 

     <TableRow 
      android:id="@+id/row11" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:stretchColumns="0,1,2,3" 
      android:layout_weight="1" > 

      <ImageView 
       android:id="@+id/q8Image" 
       android:layout_width="10dp" 
       android:layout_height="10dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q8Question" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".45" 
       android:textSize="7sp" 
       android:paddingLeft="2dp" 
       android:paddingRight="2dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q8Answer" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q8Verse" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".25" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 
     </TableRow> 

     <View 
      android:layout_width="fill_parent" 
      android:layout_height="1dp"  
      android:background="#C2BEBF" /> 

     <TableRow 
      android:id="@+id/row12" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:stretchColumns="0,1,2,3" 
      android:layout_weight="1" > 

      <ImageView 
       android:id="@+id/q9Image" 
       android:layout_width="10dp" 
       android:layout_height="10dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q9Question" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".45" 
       android:textSize="7sp" 
       android:paddingLeft="2dp" 
       android:paddingRight="2dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q9Answer" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q9Verse" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".25" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 
     </TableRow> 

     <View 
      android:layout_width="fill_parent" 
      android:layout_height="1dp"  
      android:background="#C2BEBF" /> 

     <TableRow 
      android:id="@+id/row13" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:stretchColumns="0,1,2,3" 
      android:layout_weight="1" > 

      <ImageView 
       android:id="@+id/q10Image" 
       android:layout_width="10dp" 
       android:layout_height="10dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q10Question" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".45" 
       android:textSize="7sp" 
       android:paddingLeft="2dp" 
       android:paddingRight="2dp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q10Answer" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".3" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 

      <TextView 
       android:id="@+id/q10Verse" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".25" 
       android:textSize="7sp" 
       android:layout_gravity="center_vertical" /> 
     </TableRow> 
    </TableLayout> 
    </ScrollView> 

    <TableLayout 
     android:layout_width="wrap_content" 
     android:layout_height="0dip" 
     android:layout_weight="15" > 

     <TableRow 
      android:id="@+id/row14" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:stretchColumns="0,1" 
      android:layout_weight="1" > 

      <Button 
       android:id="@+id/mainmenuBtn" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".33" 
       android:textSize="7sp" /> 

      <Button 
       android:id="@+id/highscoresBtn" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".33" 
       android:textSize="7sp" /> 
      <Button 
       android:id="@+id/playBtn" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight=".34" 
       android:textSize="7sp" /> 
     </TableRow> 
    </TableLayout> 
</LinearLayout> 

답변

3

테이블을 나란히 배치 하시겠습니까? 이제 LinearLayout의 방향은 "수직"으로 설정되지만 각 테이블의 너비는 "0dip"으로 설정됩니다. 나는 당신이 그것들을 나란히 놓기를 원한다고 생각합니다. 즉, LinearLayout의 방향이 "수평"이어야하고 테이블 너비를 "0dip"으로 유지해야 함을 의미합니다. 실제로 서로 꼭대기에 놓으려면 각 테이블의 너비를 "wrap_content"또는 "match_parent"로, 높이를 "0dip"으로 변경하십시오.

수직 예를

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dip" 
     android:layout_weight="15" > 
    </TableLayout> 

    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dip" 
     android:layout_weight="70" > 
    </TableLayout> 

    <TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dip" 
     android:layout_weight="15" > 
    </TableLayout> 

</LinearLayout> 

수평 예

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal" > 

    <TableLayout 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" > 
    </TableLayout> 

    <TableLayout 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" > 
    </TableLayout> 

    <TableLayout 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" > 
    </TableLayout> 

</LinearLayout> 

아래 표 편집

<TableLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dip" 
     android:layout_weight="15" > 

     <TableRow 
      android:id="@+id/row14" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:stretchColumns="0,1" > 

      <Button 
       android:id="@+id/mainmenuBtn" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:textSize="7sp" /> 

      <Button 
       android:id="@+id/highscoresBtn" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:textSize="7sp" /> 
      <Button 
       android:id="@+id/playBtn" 
       android:layout_width="0dip" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:textSize="7sp" /> 
     </TableRow> 
    </TableLayout> 
+0

나는 3''''TableL합니다 ayouts'''' 실제로 서로의 상단에 있어야 - 나란히하지 않습니다. 나는 1 위가 스크린의 약 15 %이고 또 하나는 약 15 %가되기를 바란다. 가운데의''''TableLayout''''은 70 %의 잔여량이 될 것이고'''ScrollView'''''로 감싸 질 것입니다. 위의 코드를 검토 할 시간이 없습니다.하지만 나중에 오늘 밤에하겠습니다. – Matt

+1

은 각 표의 특정 가중치를 설정하기 위해 수직 예제에 대한 편집을 보았습니다. ScrollView를 추가 할 때 테이블 높이를 내용을 래핑하도록 설정하고 ScrollView 높이를 0dip으로, ScrollView 무게를 70으로 설정합니다. – invertigo

+0

일종의 일이었습니다. 상단'''''TableLayout''''은 볼 수 있고 비례합니다. 중간의''''TableLayout''''은 볼 수 있고 비례하며 스크롤 할 수 있습니다. 그러나 하단의''''TableLayout''''은 볼 수 없습니다. 아래쪽에''''TableLayout''''을위한 공간이있어서 화면에 공간이 할당되었지만 볼 수는 없습니다. 최신 코드로 오프닝 포스트를 업데이트했습니다. – Matt