1

レイアウトチュートリアルを理解するのに苦労しています。列を別の行に揃えることができません。たとえば、android:padding="3dip"で3dipはどういう意味ですか。ドキュメントには、「使用可能な単位は、px(ピクセル)、dp(密度に依存しないピクセル)、sp(優先フォントサイズに基づいてスケーリングされたピクセル)、インチ(インチ)、mm(ミリメートル)」と記載されています。

具体的には、上と下の2行、中央がリストのレイアウトを作成したいと思います。そして、一番下の行を一番下に貼り付けたいです。例えば、


title1 | タイトル2| タイトル3|

リスト1

リスト2

下1| 下2|

私の現在のxmlは非常に醜いように見えます(ミドルリストなし)

<?xml version="1.0" encoding="utf-8"?>

<TableRow>
    <TextView
         android:layout_width="wrap_content"
          android:gravity="center_horizontal"
        android:text="title 1"
         />
    <TextView
    android:layout_width="wrap_content"
     android:gravity="center_horizontal"
        android:text="title 2"

         />
        <TextView
         android:layout_width="wrap_content"
          android:gravity="center_horizontal"
        android:text="title 3"            
        />
</TableRow>
<View        android:layout_height="2dip"        
android:background="#FF909090" />
   <TableRow>
    <TextView
         android:layout_width="wrap_content"
          android:gravity="center_horizontal"
        android:text="bottom 1"
         />

        <TextView
         android:layout_width="wrap_content"
          android:gravity="center_horizontal"
        android:text="bottom 2"            
        />
</TableRow>

4

4 に答える 4

4

TableLayoutは、実際にはこれに必要なものではありません。TableLayoutは、行と列があるExcelのようなものを提供します。

また、dipはdpと同じです。

考えられる解決策:

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

    <LinearLayout
        android:layout_height="wrap_content"
        android:id="@+id/TopRow"
        android:layout_width="fill_parent"
        android:orientation="horizontal">

        <TextView
            android:text="@+id/TextView01"
            android:id="@+id/TextView01"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_weight="1" />
        <TextView
            android:text="@+id/TextView01"
            android:id="@+id/TextView01"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_weight="1" />
        <TextView
            android:text="@+id/TextView01"
            android:id="@+id/TextView01"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_weight="1" />

    </LinearLayout>
    <LinearLayout
        android:id="@+id/Middle"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_weight="1"
        android:orientation="vertical">

        <ListView
            android:id="@+id/ListView01"
            android:layout_width="fill_parent"
            android:layout_weight="1"
            android:layout_height="fill_parent" />
        <ListView
            android:id="@+id/ListView02"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            android:layout_weight="1" />

    </LinearLayout>
    <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:orientation="horizontal"
        android:id="@+id/BottomRow">

        <TextView
            android:text="@+id/TextView01"
            android:id="@+id/TextView01"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_weight="1" />
        <TextView
            android:text="@+id/TextView01"
            android:id="@+id/TextView01"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_weight="1" />

    </LinearLayout>
</LinearLayout>
于 2010-01-20T18:57:23.437 に答える
1

RelativeLayoutを使用すると、属性layout_alignParentBottom="true"またはlayout_alignParentTop="true"を使用して、ビューを下部または上部に固定するように指示できます。RelativeLayoutの詳細については、一般的なレイアウトを参照してください。

于 2010-01-20T19:49:14.467 に答える
0

あなたの答えはあまりうまくいきません、私は人々が間違った答えを投稿するのをやめたいと思います。これがあなたが使うことができる1つのヒントです。親レイアウトはとにかくFrameLayoutモードである可能性が高いため、mergeタグを使用して親とマージします。1つの部分をLinearlayout(最初の2行)でラップすると、最後の行の脱退がデフォルトで親になります。次に、android:layout_gravity="bottom"属性を使用します。詳細については、レイアウトの例を参照してください。

これは、3つのテキストビューと2つのシークバーを備えた私の例です。最後のテキストを下部にレイアウトしたかったのです。

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout 
    android:id="@+id/LinearLayout01" 
    android:layout_height="wrap_content" 
    android:layout_gravity="top" 
    android:layout_width="fill_parent" 
    android:orientation="vertical">
  <TextView 
      android:layout_height="wrap_content" 
      android:autoText="false" 
      android:text="@string/color_font_text" 
      android:id="@+id/color_font_text" 
      android:layout_width="fill_parent" 
      android:textSize="20px" 
      android:textColor="#FF999999" 
      android:textStyle="bold" 
      android:gravity="center_horizontal"></TextView>
  <SeekBar
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_margin="10px"
       android:id="@+id/seekbar_font"
       android:max="100"
       android:progress="50"></SeekBar>
  <TextView 
      android:layout_height="wrap_content" 
      android:autoText="false" 
      android:text="@string/color_background" 
      android:id="@+id/color_background" 
      android:layout_width="fill_parent" 
      android:textSize="20px" 
      android:textColor="#FF999999" 
      android:textStyle="bold" 
      android:gravity="center_horizontal"></TextView>
  <SeekBar
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:id="@+id/seekbar_back"
       android:max="100"
       android:progress="50" android:layout_margin="10px"></SeekBar>
</LinearLayout>     
<TextView  
    android:id="@+id/color_example" 
    android:text="CURRENT COLOR"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:textSize="20px" 
    android:layout_gravity="bottom" 
    android:gravity="center_horizontal"/>

  </merge>
于 2010-12-03T00:32:42.323 に答える
0

これを行う別の方法は、RelativeLayoutをLinearLayoutと組み合わせて使用​​することです。相対部分では、たとえばandroid:layout_below = "@ id/color_font_text"を使用して前のウィジェットを参照します。これにより、2番目のウィジェットであるSeekBarが最初のTextViewの下に配置されます。お役に立てれば!

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="fill_parent" 
            android:layout_height="fill_parent" 
            xmlns:android="http://schemas.android.com/apk/res/android">
  <TextView 
      android:id="@+id/color_font_text" 
      android:text="@string/color_font_text" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:textSize="20px" 
      android:textColor="#FF999999" 
      android:textStyle="bold" 
      android:gravity="center_horizontal"></TextView>
  <SeekBar
       android:id="@+id/seekbar_font"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_margin="10px"
       android:layout_below="@id/color_font_text"
       android:max="100"
       android:progress="50"></SeekBar>
  <TextView 
      android:id="@+id/color_background" 
      android:text="@string/color_background" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@id/seekbar_font"
      android:textSize="20px" 
      android:textColor="#FF999999" 
      android:textStyle="bold" 
      android:gravity="center_horizontal"></TextView>
  <SeekBar
      android:id="@+id/seekbar_back"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_below="@id/color_background"
      android:max="100"
      android:progress="50" 
      android:layout_margin="10px"></SeekBar>
  <TextView  
    android:id="@+id/color_example" 
    android:text="CURRENT COLOR"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:layout_below="@id/seekbar_back"
    android:textSize="20px" 
    android:gravity="center_horizontal|center_horizontal"
    android:layout_centerInParent="true"/>

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:gravity="center">
    <Button 
        android:text="@string/color_button_save" 
        android:id="@+id/color_button_save" 
        android:layout_weight="1"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" />
    <Button 
        android:text="@string/color_button_cancel" 
        android:id="@+id/color_button_cancel"
        android:layout_weight="1" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" />

</LinearLayout>
 </RelativeLayout>
于 2010-12-03T05:27:44.450 に答える