Android:线性布局问题

时间:2013-02-21 10:47:58

标签: android android-linearlayout

我面临着线性布局的困难,在我的线性布局中,我有两个图像,这些图像位于相反的两端,但是当我改变屏幕方向时,取消按钮正在中间

 <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"          
            android:src="@drawable/askabud" />
        <ImageView
            android:id="@+id/fbcancel"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"         
            android:paddingLeft="200dp"
            android:src="@drawable/fbcancel" />
         <Spinner
            android:id="@+id/quesspinner"
            android:layout_width="50dp"
            android:layout_height="30dp"
            android:drawSelectorOnTop="true"
            android:entries="@array/fblist"
            android:visibility="gone" />

 </LinearLayout>

不确定我哪里出错了。任何帮助表示赞赏。

这是我的完整xml文件

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


    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:background="#FFFFFF" >
        <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"          
            android:src="@drawable/askabud" />
        <ImageView
            android:id="@+id/fbcancel"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"         
            android:paddingLeft="200dp"
            android:src="@drawable/fbcancel" />
         <Spinner
            android:id="@+id/quesspinner"
            android:layout_width="50dp"
            android:layout_height="30dp"
            android:drawSelectorOnTop="true"
            android:entries="@array/fblist"
            android:visibility="gone" />

 </LinearLayout>

        <View
            android:layout_width="wrap_content"
            android:layout_height="0.7dip"
            android:background="#3b5998" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="165dp"
            android:orientation="horizontal" >

            <ImageView
                android:id="@+id/autodelete"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignRight="@+id/fbshare"
                android:src="@drawable/autodelete" />

            <Spinner
                android:id="@+id/spinner"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/autodelete"
                android:layout_alignTop="@+id/autodelete" 
                android:visibility="gone"
                android:entries="@array/fblist" />

            <EditText
                android:id="@+id/fbedittext"
                android:layout_width="wrap_content"
                android:layout_height="135dp"
                android:layout_alignParentBottom="true"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="16dp"
                android:layout_toLeftOf="@+id/fbshare"
                android:background="@drawable/roundcorners"
                android:ems="10"
                android:hint="@string/fbhint"
                android:windowSoftInputMode="stateHidden"
                android:textSize="14sp" />

            <ImageView
                android:id="@+id/fbshare"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignTop="@+id/fbedittext"
                android:layout_marginRight="15dp"
                android:layout_marginLeft="5dp"
                android:paddingRight="5dp"
                android:src="@drawable/newfb1" />

            <ImageView
                android:id="@+id/fbpeople"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_above="@+id/autodelete"
                android:layout_alignLeft="@+id/fbshare"
                android:layout_marginBottom="18dp"
                android:src="@drawable/people2" />

        </RelativeLayout>

        <TextView
            android:id="@+id/placeName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="gone"
            android:paddingTop="15dp"
            android:paddingLeft="10dp" 
            android:textColor="#000000"
            android:textStyle="bold"  />

        <TextView
            android:id="@+id/placeAddress"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="gone"
            android:paddingTop="10dp"
            android:paddingLeft="10dp"
            android:textColor="#000000" 
            android:textStyle="bold" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:paddingTop="5dp"
            android:text="@string/fbtext"
            android:textColor="#000000"
            android:paddingLeft="10dp"
            android:paddingBottom="10dp" />
    </LinearLayout>

2 个答案:

答案 0 :(得分:0)

  

但是当我改变屏幕方向时,取消按钮就是   来到中间

对于正在发生的事情,这是一个有点模糊的解释。

我猜测从横向切换到肖像?

您没有解释您希望它看起来如何以及它现在的样子。 (在肖像和风景中)。似乎没有错误,所以如果您希望我们帮助您而不必重新创建所有代码,字符串和值。

您是否尝试更改cancelButton的paddingLeft。在纵向模式下,似乎没有足够的空间将这两个图像视图放在一起,有效地推动另一个底部和200dp远离左侧。

答案 1 :(得分:0)

修改

试试这个

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

  <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_gravity="left"    >
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"  
            android:src="@drawable/ic_launcher" />
        </LinearLayout>
        <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
         android:gravity="right"
         >
        <ImageView
            android:id="@+id/fbcancel"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"         
            android:src="@drawable/ic_launcher" />
        </LinearLayout>
         <Spinner
            android:id="@+id/quesspinner"
            android:layout_width="50dp"
            android:layout_height="30dp"
            android:drawSelectorOnTop="true"
            android:visibility="gone" />

 </LinearLayout>

根据您的要求,它将起作用......

尝试单独设计土地景观模式。您可以通过在目录res / layout-land中创建同名文件来实现。如果您没有单独的Land scape设计,请将屏幕方向固定为Potrait模式。您可以在“活动”级别以及“应用程序级别”中执行此操作。要设置固定方向,请使用android:screenOrientation="portrait"