我试图测试其中一些方法是否有效,但它们似乎并没有改变任何东西。有问题的代码如下。
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中为意图做这件事。我得到了宽度和高度,但出于某种原因,当我尝试通过setHeight
和setWidth
调整宽度和高度时,它并没有改变按钮的大小。
我对这两个问题有什么简单的看法?感谢任何帮助。谢谢。
修改
我的计划是在桌面上添加按钮,然后再调整大小,抱歉它有点草率,其中包含所有表格行
<?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>
答案 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>