我正在为我的活动制作布局并且感到困惑,我正在考虑制作灵活的布局,我的视图根据屏幕获得宽度和高度。请阅读以下案例
我想要的是什么: 这对我来说是最棘手和最难的部分。
所以这三点让我很难过。另外,这一点的第二点更为重要。
请告诉我如何实现这一点我已阅读有关网格布局,网格视图,列表视图,表格布局以及我多次使用它们的信息。但我不知道如何将它们用于此特定目的。
注意:行中的按钮应根据屏幕获得相同的宽度和高度,并且布局应适合所有设备,因此我们应避免使用硬编码值。
答案 0 :(得分:1)
只需使用网格视图即可。将Max列设置为3和
使用自定义适配器扩展Base适配器来设置背景并在项目单击侦听器上返回不同的ID。
使用屏幕尺寸动态设置充气项目视图的布局参数。
答案 1 :(得分:0)
答案 2 :(得分:0)
使用线性布局代替..使用嵌套的概念。就像
<LinearLayout>
<LinearLayout>
.
.
And So on..
.
.
.
</LinearLayout>
</LinearLayout>
例如
----Outer (Horizontal) layout-----
| |
| ---Inner (Vertical) layout- |
| | [Textview] | |
| | [Button] | |
| | [Button] | |
| | [Button] | |
| --------------------------- |
----------------------------------
也可以尝试以下示例
<LinearLayout android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout android:layout_height="wrap_content"
android:layout_width="match_parent">
<TextView android:text="One,One"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<TextView android:text="One,Two"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight="1" />
<TextView android:text="One,Three"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<TextView android:text="One,Four"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
</LinearLayout>
<LinearLayout android:layout_height="wrap_content"
android:layout_width="match_parent">
<TextView android:text="Two,One"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<TextView android:text="Two,Two"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight="1" />
<TextView android:text="Two,Three"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<TextView android:text="Two,Four"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
</LinearLayout>
<LinearLayout android:layout_height="wrap_content"
android:layout_width="match_parent">
<TextView android:text="Three,One"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<TextView android:text="Three,Two"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight="1" />
<TextView android:text="Three,Three"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<TextView android:text="Three,Four"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
</LinearLayout>
<LinearLayout android:layout_height="wrap_content"
android:layout_width="match_parent">
<TextView android:text="Four,One"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<TextView android:text="Four,Two"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight="1" />
<TextView android:text="Four,Three"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<TextView android:text="Four,Four"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
</LinearLayout>
</LinearLayout>
<强>输出强>
参考链接: Nested Linear Layout, Nested Example
更新1 正如你所说,37个按钮必须在应用程序上实现不同的id,intent extras等。我认为这很简单。设置每个按钮具有不同的id并为按钮写一个onClickListener。使用开关/如果情况t \ o区分每个按钮。
示例:
public void buttonOnClick(View view)
{
switch(view.getId())
{
case R.id.button1:
// Code for button 1 click
break;
case R.id.button2:
// Code for button 2 click
break;
case R.id.button3:
// Code for button 3 click
break;
}
}
请参阅此链接以获取更多信息:
由于