Android布局:二次视图

在Android应用程序中,我需要为我的RelativeLayout添加一个遵守以下规则的视图:

  • 视图应该是二次的,即视图的高度和宽度必须匹配。
  • 视图应填充整个WIDTH。
  • 它应该看起来像这样(广场应该垂直居中):

    +-------------+
    |  activity   |
    |             |
    |+-----------+|
    ||           ||
    ||  square   ||
    ||           ||
    ||           ||
    |+-----------+|
    |             |
    |             |
    +-------------+
    

    最后,我想要一个显示二次图像的ImageView。 目前我通过将视图的宽度和高度都设置为FILL_PARENT来完成此操作,并让ImageView正确绘制图像(使用scaleType = centerInside)。

    但是:现在我想要有一个与方形视图的顶部一致的附加视图,这是我的方法失败的地方。 如果我现在将视图的宽度设置为FILL_PARENT,并将其高度设置为WRAP_CONTENT,则图像将不再适合整个宽度。

    你有解决这个问题的方法吗? 如果可能的话,这可以通过编写XML来完成,这将是可取的。

    提前致谢!


    看看这个问题的最佳答案。

    Android的布局与方形按钮


    如果你想要两个视图彼此相邻,那么任何一个都不能有FILL_PARENT。 听起来像你需要的是一个包含ImageView和其他视图的水平LinearLayout。 然后在ImageView上设置android:layout_weight="1"android:layout_width="0dp" ,这将使ImageView填充父项。 然后将另一个视图的layout_width设置为“wrap_content”。

    <LinearLayout android:width="FILL_PARENT" android:height="WRAP_CONTENT">
       <ImageView android:layout_height="WRAP_CONTENT" android:layout_width="0dp" android:layout_weight="1" />
       <OtherView android:layout_height="WRAP_CONTENT" android:layout_width="WRAP_CONTENT" />
    </LinearLayout>
    

    我已经创建了LinearLayout的扩展,它完全符合您的需求。 为了方便起见,我已将这些东西包装在Android库项目中。 请参阅https://github.com/ronaldsteen/Android-SquareLayout-Library

    链接地址: http://www.djcxy.com/p/14829.html

    上一篇: Android layout: Quadratic views

    下一篇: Command to collapse all sections of code?