我是Android世界的新手,这个问题让我很头疼。 我有一个带有4个按钮的gridview,我想将屏幕分成4个相等的高度和宽度按钮。 (不分配自定义dp)。我试过使用layout_weight但它对我没用:/ 这是我的代码的一些例子。 这是我使用gridview
的课程public class DietAdminPanel extends Activity {
private Button mydiets_button;
private ArrayList<String> data;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gridview_layout);
data = new ArrayList<String>();
data.add("Test1");
data.add("Test2");
data.add("Test3");
data.add("Test4");
Log.d("On create", "success");
GridView gridview = (GridView)findViewById(R.id.gridview);
gridview.setAdapter(new GridViewAdapter(this, data));
gridview_layout.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:columnWidth="30dp"
android:numColumns="2"
android:verticalSpacing="0dp"
android:horizontalSpacing="0dp"
android:stretchMode="columnWidth"
android:fillViewport="true"
>
</GridView>
和gridview_item_layout.xml(用于自定义适配器)
<?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" >
<TextView android:id="@+id/gridview_textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="test"/>
</LinearLayout>
这是它实际上的样子
http://i.stack.imgur.com/Iah2y.jpg
这就是我希望我的gridview看起来像的样子(我在dp中使用了宽度,而不是这样 我想要的是:/)
http://i.stack.imgur.com/xHgkj.jpg
如果你有所了解请告诉我;)
答案 0 :(得分:1)
GridView仅水平缩放,这意味着它将创建与您定义的只有水平相同大小的列。
每个单元格的高度取决于其中的视图
答案 1 :(得分:-1)
GridView
用于显示不能同时显示的多个项目,因此它们会滚动到视图中。您仍然可以使用android:verticalSpacing="50dp"
设置项目之间的垂直空间。
但是,如果您有一小部分固定数量的项目可以同时在屏幕上显示,您可能需要使用TableLayout
或GridLayout
。