2013-01-11 58 views
0

我剛剛創建了一個新的android應用程序,所以我只有MainActivity.java文件及其相應的xml佈局文件(activity_main.xml)。該activity_main.xml中文件的內容是:Android中的GridLayout

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:columnCount="2" 
android:orientation="vertical" 
android:rowCount="2" > 

<Button 
    android:id="@+id/blueButton" 
    android:background="#236B8E" /> 

<Button 
    android:id="@+id/redButton" 
    android:background="#FF0000" /> 

<Button 
    android:id="@+id/yellowButton" 
    android:background="#FFFF00" /> 

<Button 
    android:id="@+id/greenButton" 
    android:background="#00FF00" /> 

</GridLayout> 

當我運行應用程序,所有我看到的是一個白色的屏幕頂部的「主要活動」吧。我的xml文件有什麼問題嗎?

回答

0
<Button android:id="@+id/btn" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Translate" 
    android:background="#00FF00" 
    /> 

所有這些屬性添加到您的buttons.and你做。

0

如果你想在gridview中有紅色,藍色,綠色和黃色按鈕作爲每個項目,那麼你必須爲此編寫一個單獨的xml文件。在適配器中使用該xml文件,您可以將這些按鈕填充爲gridView中的每個項目。

有關如何做到這一點的更多信息,請參閱here

0

首先從java文件中放一些代碼。 你有setContentview嗎? 此XML代碼是正確的,它工作正常..

嘗試這個

XML:

<?xml version="1.0" encoding="utf-8"?> 
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/gridView1" 
android:numColumns="auto_fit" 
android:gravity="center" 
android:columnWidth="50dp" 
android:stretchMode="columnWidth" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 

</GridView> 

Java代碼:

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.GridView; 
import android.widget.TextView; 
import android.widget.Toast; 
import android.view.View; 
import android.widget.AdapterView.OnItemClickListener; 

public class GridViewActivity extends Activity { 

GridView gridView; 

static final String[] numbers = new String[] { 
     "A", "B", "C", "D", "E", 
     "F", "G", "H", "I", "J", 
     "K", "L", "M", "N", "O", 
     "P", "Q", "R", "S", "T", 
     "U", "V", "W", "X", "Y", "Z"}; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 

    gridView = (GridView) findViewById(R.id.gridView1); 

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, numbers); 

    gridView.setAdapter(adapter); 

    gridView.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View v, 
      int position, long id) { 
      Toast.makeText(getApplicationContext(), 
      ((TextView) v).getText(), Toast.LENGTH_SHORT).show(); 
     } 
    }); 

} 

} 
0

沒有您的代碼在這裏沒問題,我試着創建新的應用程序項目,它工作得很好。如果您正確設置了API級別,則最低API級別14要設置爲使用GridLayout。並且您是否在此java代碼中爲此佈局設置了setContentView

0
<?xml version="1.0" encoding="utf-8"?> 
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/gridView1" 
    android:numColumns="auto_fit" 
    android:gravity="center" 
    android:columnWidth="50dp" 
    android:stretchMode="columnWidth" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

</GridView>