[英]how to split gridview into equal parts that fill the screen
我是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中使用width,那不是我想要的:/)
http://i.stack.imgur.com/xHgkj.jpg
如果您知道什么,請告訴我;)
GridView僅可水平縮放,這意味着它將創建與您定義的列一樣多的列,且僅在水平方向具有相同的大小。
每個單元格的高度將取決於其內部的視圖
GridView
用於顯示許多不能全部同時顯示的項目,因此將它們滾動到視圖中。 您仍然可以使用android:verticalSpacing="50dp"
設置項目之間的垂直空間。
但是,如果只有少量固定的項目可以全部同時顯示在屏幕上,則可能要改用TableLayout
或GridLayout
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.