如何在宽度上设置FrameLayout fill_parent并始终具有固定的高度比?

时间:2012-09-11 07:32:36

标签: android android-layout

我看到一些关于“ImageView”的问题,但我需要一个FrameLayout

我有一个FrameLayout,我需要它width:height = 2:1,宽度为fill_parent。框架布局中有很多图像视图,我可以设置它们width=fill_parentheight=fill_parent

我找不到办法,请帮忙。

我的xml代码是:

<FrameLayout
        android:id="@+id/cardView"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:layout_centerInParent="true">
    <ImageView
            android:id="@+id/frameView"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitXY"
            android:src="@drawable/card_style1"
            />
</FrameLayout>

1 个答案:

答案 0 :(得分:1)

看看这是不是你想要的:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.your_layout);
    final FrameLayout target = (FrameLayout) findViewById(R.id.frame_id);
    target.post(new Runnable() {

        @Override
        public void run() {             
            int width = target.getWidth();
            int height = width / 2;                
            LayoutParams lp = target.getLayoutParams(); 
            lp.height = height;
            target.setLayoutParams(lp);
        }

    });
}