我是android新手。

我面临的一个问题是我正在向应用程序添加框架布局,代码是

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <FrameLayout android:id="@+id/frameLayout1">
        <LinearLayout
        android:layout_height="wrap_content"
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent">
        </LinearLayout>
    </FrameLayout>
</LinearLayout>

我的问题是我想在不同的屏幕方向上更改框架布局的高度

示例代码是
    wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);

            getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

            Log.v("height","height"+wm.getDefaultDisplay().getHeight());

            if(wm.getDefaultDisplay().getHeight() <= 427)
             {
                 Log.v("height","111");


((FrameLayout)findViewById(R.id.frameLayout1)).setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
         }
        else
        {
            ((FrameLayout)findViewById(R.id.frameLayout1)).setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
        }

但它使力接近,

如果有人有想法请帮助我。

提前致谢。

最佳答案

一种方法是构建自定义 View 并覆盖onLayout和onMeasure函数。在onLayout函数中,您可以覆盖宽度和高度。请参见示例LabelView.java类here

关于android-layout - 如何以编程方式更改框架布局的高度和宽度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7204126/

10-12 03:32