2013-08-06 94 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