【问题标题】:Android RelativeLayout adding layout_alignParentBottom pushing layout to the bottom of the screenAndroid RelativeLayout 添加 layout_alignParentBottom 将布局推送到屏幕底部
【发布时间】:2012-02-07 02:49:57
【问题描述】:

希望有人可以帮助解决我遇到的这个 RelativeLayout 问题。如果我从此布局中删除最后一个 ImageView,则布局高度仅与最高的小部件一样高(在这种情况下,它是第一个 ImageView)。但是一旦我把最后一个 Imageview 放回去,布局就会延伸到屏幕的按钮,甚至将其他布局推开。我很确定它的 ImageView 中的 layout_alignParentbottom 属性会导致这种情况发生。我只是不确定为什么布局会这样。

我的目标是让 RelativeLayout 的高度仅与最大的小部件(即第一个 ImageView)一样大,但我还希望最后一个 ImageView 与布局的按钮对齐。有任何想法吗?谢谢!

< RelativeLayout
    android:id="@+id/gallerylayout" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#ffffff" >

    <ImageView 
        android:id="@+id/image_cat" 
        android:src="@drawable/img_categories_bill" 
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right"
    />

    <TextView 
        android:id="@+id/title_cat" 
        android:layout_width="200dip"
        android:layout_height="wrap_content"
        android:text="...some text"
        android:layout_alignTop="@id/image_cat"
        android:textColor="#000000"
        android:paddingLeft="5dp" 
        android:paddingTop="3dp"
        /> 

    <TextView 
        android:id="@+id/description_cat" 
        android:layout_width="210dip"
        android:layout_height="wrap_content"
        android:text="...some text"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/title_cat"
        android:textColor="#000000"
        android:paddingLeft="5dp" 
        android:textSize="10px"
        />

    <ImageView 
        android:id="@+id/positionImage1_cat" 
        android:src="@drawable/img_current" 
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:paddingLeft="5dp" 
        android:paddingBottom="3dp"
    />      
< /RelativeLayout>  

这是我想出的有效解决方案。我已将 android:layout_alignBottom="@id/image_cat" 添加到底部 ImageView。

<ImageView 
    android:id="@+id/positionImage1_cat" 
    android:src="@drawable/img_current" 
    android:layout_alignParentLeft="true"
    android:layout_alignBottom="@id/image_cat"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:paddingLeft="5dp" 
    android:paddingBottom="3dp"
/>

【问题讨论】:

  • 你能勾勒出你想要完成的任务吗?你想要所有的 textview 都在 imageView 之上吗?
  • 是的,第一个 imageView 用作背景。我希望布局的高度是第一个 imageView 的高度。我看看能不能加个草图。
  • 您构建的 API 级别是什么? API 级别 3 对相对布局有粗略的支持。

标签: android android-relativelayout


【解决方案1】:

这是我想出的解决方案。

< ImageView     
android:id="@+id/positionImage1_cat"     
android:src="@drawable/img_current"     
android:layout_alignParentLeft="true"    
android:layout_alignBottom="@id/image_cat"    
android:layout_width="wrap_content"     
android:layout_height="wrap_content"     
android:paddingLeft="5dp"     
android:paddingBottom="3dp"
/>

【讨论】:

    【解决方案2】:

    尝试
    android:layout_alignBottom="@+id/positionImage1_cat" 在第一个 ImageViewandroid:layout_alignBottom="@+id/image_cat" 在第二个ImageView

    【讨论】:

    • 尝试此操作时收到错误:RelativeLayout 中不能存在循环依赖项
    猜你喜欢
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多