没有更改应用于我的 Activity

No changes being applied to my Activity

我只是想测试其中一些方法是否有效,但它们似乎没有任何改变。有问题的代码如下。

public class Matching extends AppCompatActivity{

Button button1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_flipmodule);

    button1 = (Button) findViewById(R.id.button1);

    DisplayMetrics displayMetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
    final int height = displayMetrics.heightPixels;
    final int width = displayMetrics.widthPixels;

    button1.setHeight((int)(height*.3));
    button1.setWidth((int)(width*.3));

    button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

        }
    });
}
}

首先,我想去掉屏幕顶部显示 activity class 名称的栏,所以我只使用了这条线this.requestWindowFeature(Window.FEATURE_NO_TITLE); 在我设置内容视图之前,但这似乎没有任何作用。

此外,我非常沮丧地试图让我的 xml 按钮随屏幕缩放(我仍然认为通过 xml 是不可能的,如果我错了请纠正我).所以我决定只在我的 onCreate 中为 Intent 做这件事。我得到了宽度和高度,但出于某种原因,当我尝试通过 setHeightsetWidth 调整宽度和高度时,它不会改变按钮大小。

这两个问题我忽略了什么简单的事情?感谢任何帮助,谢谢。

编辑:

我的计划是向 table 添加按钮,然后稍后调整它们的大小,抱歉,其中的所有 table 行有点草率

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

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="55dp"
    android:orientation="horizontal">
</LinearLayout>

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="10dp">

        <Button
            android:id="@+id/button1"
            android:layout_width="@dimen/box_size"
            android:layout_height="@dimen/box_size"
            android:text="Button" />

    </TableRow>

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</TableLayout>
</LinearLayout>

更新

要删除屏幕顶部的标题栏,请确保您的 Activity 的主题具有以下内容:

    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>

原创

要制作随屏幕大小缩放的按钮,您可以使用 ConstraintLayout。在 33% 和 67% 处添加一些 Guidelines 并相对于它们定位按钮。这是一个只有一个按钮的例子:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.constraint.Guideline
        android:id="@+id/leftRail"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:orientation="vertical"
        app:layout_constraintGuide_percent="0.33"/>

    <android.support.constraint.Guideline
        android:id="@+id/rightRail"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:orientation="vertical"
        app:layout_constraintGuide_percent="0.67"/>

    <android.support.constraint.Guideline
        android:id="@+id/topRail"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.33"/>

    <android.support.constraint.Guideline
        android:id="@+id/bottomRail"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.67"/>

    <Button
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:text="scales with screen size"
        app:layout_constraintTop_toTopOf="@id/topRail"
        app:layout_constraintLeft_toLeftOf="@id/leftRail"
        app:layout_constraintRight_toRightOf="@id/rightRail"
        app:layout_constraintBottom_toBottomOf="@id/bottomRail"/>


</android.support.constraint.ConstraintLayout>