如何将相对布局的宽度和高度排列为屏幕的一半

时间:2014-01-10 05:40:53

标签: android

我正在开发一个Android应用程序,我想将我的相对布局的宽度和高度设置为我的屏幕宽度和高度的一半。

由于

4 个答案:

答案 0 :(得分:8)

使用Parent作为LinearLayout并使用weightSumweight属性

<强>示例

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="100" >

  <RelativeLayout
      android:id="@+id/button1"
      android:layout_width="match_parent"
      android:layout_height="0dp"
      android:layout_weight="50" >

      <!-- Your RelativeLayout Items -->

  </RelativeLayout>

</LinearLayout>

答案 1 :(得分:2)

将相对布局划分为两个相等的相对布局

    <RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false">
<RelativeLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1">
</RelativeLayout>
<RelativeLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1">
</RelativeLayout>
</RelativeLayout>

并将线性布局划分为两个相等的相对布局

    <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:baselineAligned="false">
<RelativeLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1">
</RelativeLayout>
<RelativeLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1">
</RelativeLayout>
</LinearLayout>

答案 2 :(得分:1)

*@SuppressLint("NewApi")
public static int getDeviceWidth(Activity activity) {
    int deviceWidth = 0;

    Point size = new Point();
    WindowManager windowManager = activity.getWindowManager();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        windowManager.getDefaultDisplay().getSize(size);
        deviceWidth = size.x;
    } else {
        Display display = windowManager.getDefaultDisplay();
        deviceWidth = display.getWidth();
    }
    return deviceWidth;
}

@SuppressLint("NewApi")
public static int getDeviceHeight(Activity activity) {
    int deviceHeight = 0;

    Point size = new Point();
    WindowManager windowManager = activity.getWindowManager();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        windowManager.getDefaultDisplay().getSize(size);
        deviceHeight = size.y;
    } else {
        Display display = windowManager.getDefaultDisplay();
        deviceHeight = display.getHeight();
    }
    return deviceHeight;
}*

以上两个函数是获取设备的高度和宽度。

使用此功能,您可以获得一半的屏幕尺寸 我希望它对你有用。

答案 3 :(得分:1)

您需要将RelativeLayout放在LinearLayout内并使用android:weightsum=2android:layout_weight=1来获得所需的比例

<?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="horizontal"
    android:weightSum="2" >

    <RelativeLayout
        ....
        android:layout_weight=1
        ....>
    </RelativeLAyout>

</LinearLayout>
相关问题