繁体   English   中英

如何在Android中获取按钮以在屏幕上自动拉伸/缩小?

[英]How do you get buttons in Android to stretch/shrink automatically on screen?

XML代码:

<GridLayout
    android:id="@+id/grid"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/step"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/menu" >
</GridLayout>

上面的代码创建了一个网格,以使正在创建的按钮的布局变得容易。

Java代码:

GridLayout grid = (GridLayout)findViewById(R.id.grid);
grid.setColumnCount(10);
grid.setRowCount(10);
cells = new Button[100];
for (int i = 0; i < 100; i++) { 
    cells[i] = new Button(this);

    if (gen.nextInt(3) % radiofill == 0) //[0,3)
        cells[i].setBackgroundColor(Color.WHITE);
    else
        cells[i].setBackgroundColor(Color.BLACK);

    cells[i].setClickable(true);
    cells[i].setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
            v.setBackgroundColor(Color.BLACK);
        }
    });
    grid.addView(cells[i]); 
}

在此代码中,将创建100个按钮并将它们添加到一个数组中,该数组最终将添加到以XML创建的GridLayout中。

所有的按钮似乎都是按预期的方式创建,放置和工作的,但是这些按钮太大了,无法容纳在手机屏幕上。 如何在按钮完全充满GridLayout的位置上进行流动而不会出现过多或不足的情况? 在这种情况下,创建了100个按钮,但是程序设计为允许创建多种类型的完美平方数(4、9、16、25、36、49),因此GridLayout需要灵活。

如果您使用的是LinearLayout,则可以

<LinearLayout android:layout_height="wrap_content"
android:layout_width="0dip"
android:layout_weight="1" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM