没有更改应用于我的活动

时间:2017-07-25 23:03:40

标签: android button oncreate

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

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) {

        }
    });
}
}

首先,我想摆脱屏幕顶部的栏,上面显示调用它的活动类的名称,所以在设置内容之前我只使用了行this.requestWindowFeature(Window.FEATURE_NO_TITLE);看来,但似乎没有做任何事情。

另外,我非常沮丧地试图让我的xml按钮与屏幕一起缩放(我仍然不认为可以通过xml,如果我错了就纠正我)。所以我决定在我的onCreate中为意图做这件事。我得到了宽度和高度,但出于某种原因,当我尝试通过setHeightsetWidth调整宽度和高度时,它并没有改变按钮的大小。

我对这两个问题有什么简单的看法?感谢任何帮助。谢谢。

修改

我的计划是在桌面上添加按钮,然后再调整大小,抱歉它有点草率,其中包含所有表格行

<?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>

1 个答案:

答案 0 :(得分:1)

更新

要删除屏幕顶部的标题栏,请确保您的“活动”主题包含以下内容:

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

原始

要制作符合屏幕尺寸的按钮,您可以使用ConstraintLayout。以33%和67%添加一些Guideline并将按钮相对于它们放置。这是一个只有一个按钮的例子:

<?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>

enter image description here