Android在相对布局中制作按钮宽度和高度的1/3

Roy*_*son 7 xml android android-button android-relativelayout

我有一些XML.在这个XML中,相对布局中有一个按钮.相对布局占据整个屏幕.我希望按钮有1/3的屏幕宽度和高度.我怎么能这样做?

这是XML:

    <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout
    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:paddingLeft="0dp"
    android:paddingRight="0dp"
    android:paddingTop="0dp"
    android:paddingBottom="0dp"
    tools:context="com.vroy.trapper.MainMenuActivity"
    android:layout_weight="2">

    <Button
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:text="@string/menu_button_text"
        android:background="@drawable/round_button"
        android:id="@+id/button"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我看了这个问题,但即使我为相对布局本身分配了一个权重,我也无法为按钮分配权重.

Jay*_*nth 14

你可以在java代码中轻松完成.

在oncreate中编写此代码.

    Button b=(Button) findViewById(R.id.button);
    int width = getResources().getDisplayMetrics().widthPixels/3;
    int hei=getResources().getDisplayMetrics().heightPixels/3;
    b.setLayoutParams(new RelativeLayout.LayoutParams(width,hei));
Run Code Online (Sandbox Code Playgroud)