活动期间视图的大小何时更新?

时间:2011-05-27 16:17:19

标签: android

我一直试图让一个视图在活动启动时将其大小更新为不同视图的一小部分。我能够在自己的类中测量更大的视图,但是我无法将该值传递给较小的视图。到目前为止我尝试过的三种方法是:

使用布局权重的某种组合,但这对我来说似乎不准确(除非我遗漏了有关值的内容)

我在较大的视图类中尝试为较小的视图指定大小,但是使用此方法启动时我的应用程序崩溃。

当我在布局中使用引用该对象的getWidth()函数时,我的日志告诉我值为0.目前我已尝试在onCreate和onStart期间调用它,但似乎这在视图之前运行当值仍为0时,是否有一些其他方法我应该在活动中中断以收集此值?

谢谢,如果我能提供其他更好说明的信息,请告诉我。

1 个答案:

答案 0 :(得分:2)

Layout_weight应该适合你。例如,如果您希望view_one是view_two宽度的一半,它将看起来像这样。

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <View
        android:id="@+id/view_one"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        andoird:layout_weight="1" />

    <View
        android:id="@+id/view_two"
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        andoird:layout_weight="2" />

</LinearLayout>