Android - 动态设置FrameLayout宽度

时间:2012-02-26 17:04:36

标签: android android-layout

我有一个FrameLayout,我希望随着时间的推移而增长。

我已经实现了Runnable-Interface。

public void run() {
    time_value++;

    FrameLayout fl_dateTime = (FrameLayout)findViewById(R.id.game_DateTime);
        LayoutParams lp_fl_dateTime = fl_dateTime.getLayoutParams();

    lp_fl_dateTime.width = time_value;

    handler.postDelayed(this, 100);
}

为什么这不起作用? O_O

2 个答案:

答案 0 :(得分:3)

修改后需要设置布局参数。

View#setLayoutParams(ViewGroup.LayoutParams lp)

答案 1 :(得分:0)

我可以通过将帧的初始大小设置为0dp然后将minWidth设置为我想要的任何内容来实现此目的。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="0dp"
          android:layout_height="fill_parent"
          android:background="@android:color/black"
          android:id="@id/layout"
          android:minHeight="50dp"
          android:measureAllChildren="false">

item.setMinimumWidth(10dp);