2014-02-18 37 views
1

我試圖使用網格佈局模仿這種對Android設計的:如何配置網格佈局,以佔據了大部分橫屏空間

enter image description here

我想我有大部分是使用下面的代碼完成:

<?xml version="1.0" encoding="utf-8"?> 
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:columnCount="8" 
    android:rowCount="4" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginTop="10dp" 
    android:orientation="horizontal" 
    android:background="@drawable/rounded"> 

    <TextView 
     android:layout_gravity="center_horizontal" 
     android:text="Some Text Here" 
     android:textStyle="bold" 
     android:textColor="#000000" 
     android:textSize="30dp" 
     android:textAlignment="center" 
     android:layout_columnSpan="8" 
     android:paddingBottom="10dp" 
     /> 

    <TextView 
     android:text="16" 
     android:textStyle="bold" 
     android:paddingRight="70dp" 
     android:textColor="#000000" 
     android:textSize="18dp" 
     android:paddingLeft="10dp" 
     android:paddingBottom="5dp"/> 

    <TextView 
     android:text="27" 
     android:textStyle="bold" 
     android:paddingRight="70dp" 
     android:textSize="18dp" 
     android:textColor="#000000"/> 

    <TextView 
     android:text="52" 
     android:textStyle="bold" 
     android:layout_columnSpan="6" 
     android:textSize="18dp" 
     android:paddingRight="10dp" 
     android:textColor="#000000"/> 

    <TextView 
     android:text="Text 1" 
     android:paddingRight="20dp" 
     android:paddingLeft="10dp" 
     android:textSize="18dp" 
     android:textColor="#ff565656" 
     android:paddingBottom="10dp"/> 

    <TextView 
     android:text="Text 2" 
     android:paddingRight="20dp" 
     android:textSize="18dp" 
     android:textColor="#ff565656"/> 

    <TextView 
     android:text="Text 3" 
     android:textColor="#ff565656" 
     android:textSize="18dp" 
     android:paddingRight="10dp"/> 

</GridLayout> 

然而,當我在模擬器中運行它,它看起來是這樣的:

enter image description here

請注意,它會在左側和右側留下太多空間。

問題

  • 如何配置網格佈局,它佔據了大部分屏幕上左右的它(就像上面的例子中)。

  • 如何更改屏幕背景顏色 - 現在它是黑​​色的,我想將其更改爲另一種顏色。

回答

0

對於GridLayout,更換此...

android:layout_width="wrap_content" 

與...

android:layout_width="fill_parent" 

如下...

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:columnCount="8" 
    android:rowCount="4" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginTop="10dp" 
    android:orientation="horizontal" 
    android:background="@drawable/rounded"> 
+0

然而,這種方式有效,所有其他方法都不能很好地對齊。我怎樣才能解決這個問題?現在看起來像這樣:http://i.imgur.com/HKbYfYX.png – Anthony

+0

對不起哥們,這裏是深夜......我會在早上趕上你。 –

0

@Anthony - 你是在鱈魚中不使用GridLayout的力量和本質e書面。由於您已手動向視圖分配填充,以便使它們出現在第一個屏幕中,這對於其他任何佈局來說都是非常有可能的。如下所示。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
android:gravity="center" > 

<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 

    android:layout_height="0dp" 
    android:layout_weight="2" 
    android:text="Some Text Here" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" > 

    <TextView 
    android:id="@+id/textView1" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="2" 
    android:text="16" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <TextView 
    android:id="@+id/textView1" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="2" 
    android:text="17" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <TextView 
    android:id="@+id/textView1" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="2" 
    android:text="18" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" > 

    <TextView 
    android:id="@+id/textView1" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="2" 
    android:text="Text1" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <TextView 
    android:id="@+id/textView1" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="2" 
    android:text="Text2" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <TextView 
    android:id="@+id/textView1" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_weight="2" 
    android:text="Text3" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 
</LinearLayout> 

而且,網格佈局是關於行和列。因此,如果您希望您的視圖被放置以便更充分地使用它,那麼您可以提供行和列位置,您應該將視圖放置在哪個順序以及其他屬性將添加到哪個位置。這裏是一個link.

試試看,我相信你會更好地理解它。快樂的編碼。 :)

相關問題