【问题标题】:Android Layout alignment issuesAndroid 布局对齐问题
【发布时间】:2014-01-12 11:05:25
【问题描述】:

我有一个布局,我需要让它看起来像图像 B。但它就像图像 A。我是否对线性或相对布局搞砸了太多?此外,我在表格布局内有脚栏按钮,在所有其他屏幕中都可以正常工作,但为此它不会显示。以下是我的代码:

<?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:background="#ffffff"
    android:orientation="vertical"
    android:padding="8dip" >

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#f2f2f2"
        android:gravity="center"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/back"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerInParent="true"
            android:layout_marginLeft="0dip"
            android:src="@drawable/back" />

        <TextView
            android:id="@+id/inboxtext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:gravity="center_horizontal|center_vertical"
            android:background="#f2f2f2"
            android:textColor="#444444"
            android:text="New message"
            android:textSize="18sp" >
        </TextView>

        <ImageView
            android:id="@+id/deleteheader"
            android:layout_width="2dip"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:layout_marginLeft="3dp"
            android:layout_toLeftOf="@+id/delete"
            android:background="#ffffff"
            android:paddingBottom="15dip"
            android:paddingTop="15dip" />

        <ImageButton
            android:id="@+id/emailsender"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:background="@drawable/sendicon"
            android:text="Sync" />
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#f2f2f2"
        android:gravity="center"
        android:orientation="vertical" >

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#444444"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/dropdown_textview"
            android:layout_width="fill_parent"
            android:layout_height="43dp"
            android:layout_gravity="top"
            android:background="@drawable/dropdown_background"
            android:gravity="center_vertical|left"
            android:hint="Select Subject"
            android:paddingLeft="15dp"
            android:textColor="#4a82ae"
            android:textSize="15sp" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="300dp"
            android:layout_gravity="top"
            android:layout_marginTop="44dp"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/mailcontent"
                android:layout_width="match_parent"
                android:layout_height="fill_parent"
                android:background="@color/white"
                android:gravity="left"
                android:hint="Enter Content Here"
                android:paddingLeft="15dp"
                android:textColorLink="@color/white" >

                <requestFocus />
            </EditText>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/dropdown_foldout_menu"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/dropdown_textview"
            android:layout_gravity="top"
            android:layout_marginTop="42dp"
            android:background="@drawable/dropdown_background"
            android:orientation="vertical"
            android:padding="1dip"
            android:visibility="gone" >

            <TextView
                android:id="@+id/dropdown_alt0"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/dropdown_selector"
                android:gravity="center_vertical|left"
                android:padding="10dip"
                android:text="Subject 1"
                android:textSize="17dp" />

            <View
                android:layout_width="fill_parent"
                android:layout_height="1dip"
                android:background="#cccccc" />

            <TextView
                android:id="@+id/dropdown_alt1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/dropdown_selector"
                android:gravity="center_vertical|left"
                android:padding="10dip"
                android:text="Subject 2"
                android:textSize="17dp" />

            <View
                android:layout_width="fill_parent"
                android:layout_height="1dip"
                android:background="#cccccc" />

            <TextView
                android:id="@+id/dropdown_alt2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/dropdown_selector"
                android:gravity="center_vertical|left"
                android:padding="10dip"
                android:text="Subject 3"
                android:textSize="17dp" />

            <View
                android:layout_width="fill_parent"
                android:layout_height="1dip"
                android:background="#cccccc" />

            <TextView
                android:id="@+id/dropdown_alt3"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/dropdown_selector"
                android:gravity="center_vertical|left"
                android:padding="10dip"
                android:text="Subject 4"
                android:textSize="17dp" />
        </LinearLayout>
    </FrameLayout>
    </RelativeLayout>

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true"
        android:gravity="bottom"
        android:stretchColumns="*" >

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal" >

            <Button
                android:id="@+id/home"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="#092435"
                android:gravity="center"
                android:padding="15dip"
                android:text="Activity"
                android:textColor="#ffffff" />

            <Button
                android:id="@+id/status"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="#092435"
                android:gravity="center"
                android:padding="15dip"
                android:text="Support"
                android:textColor="#ffffff" />

            <Button
                android:id="@+id/support"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="#092435"
                android:gravity="center"
                android:padding="15dip"
                android:text="Messages"
                android:textColor="#ffffff" />
        </TableRow>
    </TableLayout>


</LinearLayout>

【问题讨论】:

    标签: android layout alignment


    【解决方案1】:
    <?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:background="#ffffff"
    android:orientation="vertical"
    android:padding="8dip" >
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#f2f2f2"
        android:orientation="horizontal" >
    
        <ImageView
            android:id="@+id/back"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="0dip"
            android:src="@drawable/back" />
          <ImageView
            android:id="@+id/deleteheader"
            android:layout_width="2dip"
            android:layout_height="wrap_content"
            android:layout_marginLeft="3dp"
            android:background="#ffffff"
            android:paddingBottom="15dip"
            android:paddingTop="15dip" />
    
        <TextView
            android:id="@+id/inboxtext"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
             android:gravity="center"
            android:background="#f2f2f2"
            android:textColor="#444444"
            android:text="New message"
            android:textSize="18sp" >
        </TextView>
    
        <ImageView
            android:id="@+id/deleteheader"
            android:layout_width="2dip"
            android:layout_height="wrap_content"
            android:layout_marginLeft="3dp"
            android:background="#ffffff"
            android:paddingBottom="15dip"
            android:paddingTop="15dip" />
    
        <ImageButton
            android:id="@+id/emailsender"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/sendicon"
            android:text="Sync" />
    </LinearLayout>
    
        <TextView
            android:id="@+id/dropdown_textview"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:background="@drawable/dropdown_background"
            android:gravity="center_vertical|left"
            android:hint="Select Subject"
            android:padding="10dp"
            android:textColor="#4a82ae"
            android:textSize="15sp" />
    
            <EditText
                android:id="@+id/mailcontent"
                android:layout_width="match_parent"
                android:layout_weight="1"
                android:layout_height="0dp"
                android:background="#ffffff"
                android:gravity="left"
                android:hint="Enter Content Here"
                android:paddingLeft="15dp"
                android:textColorLink="#ffffff" >
    
                <requestFocus />
            </EditText>
    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="bottom"
        android:stretchColumns="*" >
    
        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal" >
    
            <Button
                android:id="@+id/home"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="#092435"
                android:gravity="center"
                android:text="Activity"
                android:textColor="#ffffff" />
    
            <Button
                android:id="@+id/status"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="#092435"
                android:gravity="center"
                android:text="Support"
                android:textColor="#ffffff" />
    
            <Button
                android:id="@+id/support"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="#092435"
                android:gravity="center"
                android:text="Messages"
                android:textColor="#ffffff" />
        </TableRow>
    </TableLayout>
    

    尝试使用代码和选择消息您可以使用弹出窗口。

    如果你想按照你的方法做,那么试试这个:

    <?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:background="#ffffff"
    android:orientation="vertical"
    android:padding="8dip" >
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#f2f2f2"
        android:orientation="horizontal" >
    
        <ImageView
            android:id="@+id/back"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dip"
           android:src="@drawable/back"  />
    
        <ImageView
            android:id="@+id/deleteheader"
            android:layout_width="2dip"
            android:layout_height="wrap_content"
            android:layout_marginLeft="3dp"
            android:background="#ffffff"
            android:paddingBottom="15dip"
            android:paddingTop="15dip" />
    
        <TextView
            android:id="@+id/inboxtext"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="#f2f2f2"
            android:gravity="center"
            android:text="New message"
            android:textColor="#444444"
            android:textSize="18sp" >
        </TextView>
    
        <ImageView
            android:id="@+id/deleteheader"
            android:layout_width="2dip"
            android:layout_height="wrap_content"
            android:layout_marginLeft="3dp"
            android:background="#ffffff"
            android:paddingBottom="15dip"
            android:paddingTop="15dip" />
    
        <ImageButton
            android:id="@+id/emailsender"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/sendicon"
            android:text="Sync" />
    </LinearLayout>
    
    <TextView
        android:id="@+id/dropdown_textview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
       android:background="@drawable/dropdown_background"
        android:gravity="center_vertical|left"
        android:hint="Select Subject"
        android:padding="10dp"
        android:textColor="#4a82ae"
        android:textSize="15sp" />
    
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#f2f2f2" >
    
        <EditText
            android:id="@+id/mailcontent"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#ffffff"
            android:gravity="left"
            android:hint="Enter Content Here"
            android:paddingLeft="15dp"
            android:textColorLink="#ffffff" >
    
            <requestFocus />
        </EditText>
         <LinearLayout
            android:id="@+id/dropdown_foldout_menu"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:background="@drawable/dropdown_background"
            android:orientation="vertical"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"
            android:visibility="gone" >
    
            <TextView
                android:id="@+id/dropdown_alt0"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/dropdown_selector"
                android:gravity="center_vertical|left"
                android:padding="10dip"
                android:text="Subject 1"
                android:textSize="17dp" />
    
            <View
                android:layout_width="fill_parent"
                android:layout_height="1dip"
                android:background="#cccccc" />
    
            <TextView
                android:id="@+id/dropdown_alt1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/dropdown_selector"
                android:gravity="center_vertical|left"
                android:padding="10dip"
                android:text="Subject 2"
                android:textSize="17dp" />
    
            <View
                android:layout_width="fill_parent"
                android:layout_height="1dip"
                android:background="#cccccc" />
    
            <TextView
                android:id="@+id/dropdown_alt2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/dropdown_selector"
                android:gravity="center_vertical|left"
                android:padding="10dip"
                android:text="Subject 3"
                android:textSize="17dp" />
    
            <View
                android:layout_width="fill_parent"
                android:layout_height="1dip"
                android:background="#cccccc" />
    
            <TextView
                android:id="@+id/dropdown_alt3"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/dropdown_selector"
                android:gravity="center_vertical|left"
                android:padding="10dip"
                android:text="Subject 4"
                android:textSize="17dp" />
        </LinearLayout>
    
    </RelativeLayout>
    
    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:gravity="bottom"
        android:stretchColumns="*" >
    
        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal" >
    
            <Button
                android:id="@+id/home"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="#092435"
                android:gravity="center"
                android:text="Activity"
                android:textColor="#ffffff" />
    
            <Button
                android:id="@+id/status"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="#092435"
                android:gravity="center"
                android:text="Support"
                android:textColor="#ffffff" />
    
            <Button
                android:id="@+id/support"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:background="#092435"
                android:gravity="center"
                android:text="Messages"
                android:textColor="#ffffff" />
        </TableRow>
    </TableLayout>
    

    如果您的要求不同或有任何其他要求,请发表评论。

    【讨论】:

    • Crooper - 谢谢,但是你发布的第二个代码给了我错误,我猜有些布局我们还没有关闭。能不能回头看看。那我试试
    • @user45678 立即查看。
    • 那很好。但我仍然找不到 TableLayout 中的页脚按钮。我应该再次为此使用另一种相对布局吗?
    • 我知道相对布局的高度是“fill_parent”。我改为“wrap_content”。它现在可以工作了...谢谢...如果您可以在代码中进行这些更改...我会接受,这样我们的读者就不会被误导...只需将“android:layout_height =“wrap_content”更改为“FrameLayout”上方的“RelativeLayout”
    • 在我的代码中没有框架布局,我采用高度为 0dp,重量为 1 的相对布局;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    相关资源
    最近更新 更多