2013-08-06 70 views
0

我是新来的android世界,这个问题一直让我头疼。 我有一个带有4个按钮的gridview,我想将屏幕分成4个相同的高度和宽度按钮。 (不分配自定义dp)。我试过使用layout_weight,但它不适用于我:/ 这里是我的代码的一些例子。 这是我使用的GridView类如何将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

将来对文本浏览次数的要求会有所不同,或者它总是固定为4? –

+0

如果总是固定为4你不需要gridview –

+0

它会被修复,那么我可以使用什么呢? – user2430929

回答

1

GridView仅水平缩放,这意味着它将创建与您仅在水平方向上使用相同大小定义的列数一样多的列。

各单元格的高度将取决于观里面

0

GridView是用于显示一个数字,不能全部在同一时间显示的项,因此,它们被滚动到视图。仍然可以使用android:verticalSpacing="50dp"设置项目之间的垂直空间。

但是,如果您有一小部分固定数量的物品可同时在屏幕上显示,您可能需要使用TableLayoutGridLayout

+0

感谢您的评论,我将环顾这些布局,但是,我无法使用Gridlayout,因为我使用的是2.3.3 API:/。我不拥有4.X And​​roid手机 – user2430929