【问题标题】:Android custom view - setting it to take up max space available but no moreAndroid 自定义视图 - 将其设置为占用最大可用空间,但仅此而已
【发布时间】:2010-05-11 20:48:31
【问题描述】:

我的应用中有一个自定义 View 类,我在 xml 布局中使用它。无论我在 xml 中的何处使用此视图,我都不希望它拉伸它的容器,但我希望它填充任何可用空间。这里有一个例子让它更清楚一点。我有一个 LinearLayout 设置为水平方向,我的自定义视图后跟一个 TextView。 TextView 将拉伸 LinearLayout 以便它占用它需要的空间,而不是更多。我希望我的自定义视图占据 TextView 提供的垂直空间。假设 TextView 因为它的内容而最终是 50px 高。因此,LinearLayout 被拉伸到这个高度(不考虑任何边距或填充),所以我只想让视图知道它可以拉伸到那个高度,而不是“推动”它的容器。

在不覆盖基类的任何测量方法(onMeasure 等)的情况下,我的视图实际上正在拉伸以占用尽可能多的空间。我已经玩过 wrap_content 和 fill_parent 了,所以我假设我需要在 View 类的一个测量方法中做一些事情。

【问题讨论】:

    标签: android custom-view


    【解决方案1】:

    您的视图是否支持 weight 属性? http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html 您可能可以查看 LinearLayout 的 android src 来解决这个问题。

    【讨论】:

    • 我认为这与它无关。我已经使用 weight 属性来平均共享水平空间,但我不知道这将如何影响它在水平 LinearLayout 中占用的垂直空间。如果我弄错了,请澄清
    • 抱歉没有仔细阅读,没有意识到你说的是垂直
    猜你喜欢
    • 2010-11-21
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    相关资源
    最近更新 更多