1

我曾尝试使用 xml 分割屏幕。这是代码请尝试此 xml。我需要以编程方式进行相同的布局。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical" >

    <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="318dp"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal"
            android:background="@android:color/holo_purple">

        <LinearLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="318dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="horizontal" android:background="@android:color/holo_purple">

        </LinearLayout>

        <LinearLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="318dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
               android:orientation="horizontal"
                android:background="@android:color/holo_blue_dark">
        </LinearLayout>
        <LinearLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="318dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="horizontal"
                android:background="@android:color/darker_gray">
        </LinearLayout>
       </LinearLayout>

    </LinearLayout>

但是,我需要以编程方式分割屏幕。谁能给我解决方案?

4

1 回答 1

0

通过分割屏幕你的意思是分割布局宽度然后你可以尝试如下..

// gets the screen width
            float screenWidth = getWindowManager()
                    .getDefaultDisplay().getWidth();

您将从上面的代码中获得屏幕宽度..

和屏幕高度

// gets the screen height
        float screenHeight = getWindowManager()
                .getDefaultDisplay().getHeight();

那么您所要做的就是使用 LayoutParams 设置布局宽度。

LinearLayout view  = (LinearLayout) findViewById(R.id.ur_layout_id);
view.setLayoutParams(new LinearLayout.LayoutParams((int) screenWidth / 3,
                    (int) screenHeight , 1f));

您可以设置 layoutwidth 以将屏幕分成两半screenWidth / 2,分为 3 部分screenWidth / 3,依此类推.. 希望这会有所帮助..

于 2013-10-10T12:02:46.573 回答