我想做一个井字游戏(Android版)。我想让所有的9个按钮根据设备的宽度和高度自动调整大小,并将它们均匀地放置在一个3*3的网格中。但是我现在只能为他们的尺寸设定数量。有人能告诉我如何让他们使用父母的高度和宽度,并计算他们的大小吗?
另外,我现在使用网格布局。这是我应该用于井字游戏的最佳布局吗?
谢谢。
可以用GridView。它会平均分配按钮。
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:horizontalSpacing="5dp"
android:numColumns="3"
android:stretchMode="columnWidth"
android:verticalSpacing="5dp" />`
在你的活动中使用这个代码
网格视图 网格视图;
static final String[] numbers = new String[] {
"A", "B", "C",
"D", "E", "F",
"G", "H", "I"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gridView = (GridView) findViewById(R.id.gridview);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, numbers);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Toast.makeText(getApplicationContext(),
((TextView) v).getText(), Toast.LENGTH_SHORT).show();
}
});
}
<LinearLayout
android:weightSum = 1.0
>
<LinearLayout
android:weightSum=1.0
android:layout_weight = 0.33
android:orientation = horizontal
>
<Button
android:layout_weight=0.33
/>
<Button
android:layout_weight=0.33
/>
<Button
android:layout_weight=0.33
/>
</LinearLayout>
//Similar to above LinearLayout of Buttons add 2 more LinearLayouts
使用线性布局
与Android:重量萨姆
和Android:layout_weight
编辑
示例:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="3" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="3" >
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="3" >
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="3" >
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
<ImageButton
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:src="@drawable/ic_launcher" />
</LinearLayout>
</LinearLayout>
我正在尝试在一个布局中3行中的9个按钮。但是,由于某些按钮包含的文本比其他按钮多,因此按钮不适合。现在看起来像这样: 我试图将每一行放入<code>线性布局 我也尝试过使用这个解决方案,但它没有解决我的问题。
问题内容: 我正在Twitter Bootstrap中构建表单,但是将按钮居中于表单输入下方时出现问题。我已经尝试过将类应用于按钮,但这没有用。我该如何解决? 这是我的代码。 问题答案: 用“文本中心”类在div中包装Button。 只需更改此: 对此: 编辑 作为 BootstrapV4 ,滴入#19102赞成
问题内容: 我想在我的 底栏布局的中间添加Facebook Messenger,例如超大按钮,但困惑如何添加。 我正在使用ahbottomnavigation库来制作我的底栏。 问题答案: 我只是试图使其简单而不是专业类型。看这里: BottomSheetLayout文件- : ActivityLayout - Output: 根据您的想法改变价值和设计。 示例仅是一个演示,并不包含OP要求的确切
问题内容: 我正在尝试一些非常基本的东西:我列出了5个按钮。它们位于FlowLayout中,通常的想法是,一旦我单击一个,它将消失,而其他应该相应地重新排序。 现在,如果我调用setVisible(false),该按钮将变为不可见,但它仍在Layoutmanager中占据它的空间。 有什么办法可以在隐藏它的同时将Button保留在JPanel中,以便它不会被Layout拾取? 更新:: 感谢您提供
我正在推特引导中构建一个表单,但是我在表单输入下方的按钮居中时遇到了问题。我已经尝试将类应用于按钮,但没有成功。我该如何解决这个问题? 这是我的密码。
我在 Kotlin 中有两个布局,每个布局都有一个按钮,我只想在两者之间切换。所以我在两者中都添加了一个OnClickListener 好吧,它实际上正在工作。我可以转到第二个布局并切换回第一个布局,但我无法再次打开第二个布局! 我认为在更改回主视图后必须重新定义监听器,因此我创建了两个单独的函数来设置视图。 当我试图在Java中解决同样的问题时,这种方法是有效的,但是在Kotlin中,我仍然只能