2012-11-29 44 views
1

我想設計一個國際象棋棋盤,但通過包含8次包含8個ImageView的另一個佈局。那麼,我如何才能擁有所有64個方塊組件的獨特android:id?通過包含8次另一種佈局來構建電路板佈局:唯一的電池標識符?

我想包括佈局被設計爲這樣的:

的LinearLayout(取向:水平) - >的ImageView - > ... - >的ImageView

另一點,是具有的LinearLayout對於父母和包含的佈局來說,最好的表現技巧是?我想過使用RelativeLayout,但我看不到我能如何管理。

+0

對於棋盤,我可能會使用TableLayout。此外,「board」佈局中的每個ImageView都應具有自己的android:id屬性,它將爲每個人分配唯一的標識符。 –

+0

@代碼大師謝謝。我忘了TableLayout,因爲我從API 3手機轉到了API 15(而TableLayout不適用於API 3)。此外,官方網站上的技術文章表示,佈局重用是一項很好的技術。但我同意在這種情況下:我沒有贏得任何佈局重用。 – loloof64

回答

3

爲代碼大師這裏所說的我將與TableLayout走的是示例代碼,可以幫助你創建你正在尋找國際象棋棋盤的

<?xml version="1.0" encoding="utf-8"?> 
    <TableLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center_horizontal" 
    android:background="#FFFFFF" > 

    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <ImageView 
      android:id="@+id/block1" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image1 /> 

     <ImageView 
      android:id="@+id/block2" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image2 /> 

     <ImageView 
      android:id="@+id/block3" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image1 /> 

     <ImageView 
      android:id="@+id/block4" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image2 /> 

     <ImageView 
      android:id="@+id/block5" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image1 /> 

     <ImageView 
      android:id="@+id/block6" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image2 /> 

    <ImageView 
      android:id="@+id/block7" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image1 /> 

    <ImageView 
      android:id="@+id/block8" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image2 /> 
    </TableRow> 

<TableRow 
     android:id="@+id/tableRow2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <ImageView 
      android:id="@+id/block9" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image1 /> 

     <ImageView 
      android:id="@+id/block10" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image2 /> 

     <ImageView 
      android:id="@+id/block11" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image1 /> 

     <ImageView 
      android:id="@+id/block12" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image2 /> 

     <ImageView 
      android:id="@+id/block13" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image1 /> 

     <ImageView 
      android:id="@+id/block14" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image2 /> 

    <ImageView 
      android:id="@+id/block15" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image1 /> 

    <ImageView 
      android:id="@+id/block16" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:src="@drawable/image2 /> 
    </TableRow> 

等等等等..如果您想要使用白色和黑色背景色替代圖像,則可以。

希望這有助於!

+0

謝謝。我確實需要ImageLayout,因爲我打算在其中導入棋子圖像。 – loloof64

+0

由於此佈局非常規整(而且很長),因此您可能希望使用Java代碼創建它,以便利用for循環。 –

+0

你是對的,但在我的情況下,我應該使用XML:因爲我正在設計的4大小小,正常,大和xlarge。 Xml更適合處理多個屏幕配置。 – loloof64