我正在做一个Android应用程序,我需要在活动中放入4个元素或图片。我的想法是图片分为两行和两列。 应用程序始终将其显示限制为纵向。
我认为gridview是一个很好的解决方案吗?但我的问题是,我怎么能用这个gridview来适应everey显示?
这是我定义它的布局:
<!-- ?xml version="1.0" encoding="utf-8"? -->
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:numColumns="2" />
此布局的一些新参数??
由于
答案 0 :(得分:0)
尝试以下XML
代码:
<!-- ?xml version="1.0" encoding="utf-8"? -->
<GridView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:verticalSpacing="0dp"
android:horizontalSpacing="0dp"
android:stretchMode="columnWidth"
android:numColumns="2" />
答案 1 :(得分:0)
如果你有静态数字图像(比如4个图像),最好使用LinearLayout
并为每个图像设置重量来填充页面,但是如果你没有静态数字,你需要编写自定义适配器和获取显示高度,然后在代码中将每个元素设置为(height / numberRow)。
首先建议您使用以下代码:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight=".5"
android:weightSum="1">
<ImageView
android:id="@+id/imageView1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher"
android:layout_weight=".5" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher"
android:layout_weight=".5"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight=".5" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher"
android:layout_weight=".5" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher"
android:layout_weight=".5"/>
</LinearLayout>
但第二个建议它更复杂。你需要做以下工作:
1 - 为gridView(Developing a custom adapter)
创建自定义适配器2 - 获取屏幕尺寸(How to get screen dimensions)
3 - 将getView中View的高度设置为(height / numberRow)
并将以下代码设置为gridView
android:numColumns="2"
每行创建2列