2011-09-13 116 views
1

我擴展LinearLayout並創建我自己的類GameLinerLayout,然後創建類LudoGame,擴展該類GameLinerLayoutAndroid我的LinearLayout

現在,我嘗試在我的佈局「main.xml中」

<android.game.ludo.LudoGame xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/ll_absolute" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/background"> 
</android.game.ludo.LudoGame> 

使用它,但我不能讓它工作的「背景」參數。那麼如何在我自己的觀點上設置背景圖片呢?

我不明白這一點。我有我的佈局,我只是想將背景設置在該視圖(沒有其他意見),如果我這樣做

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/wood"> 
<android.game.ludo.LudoGame xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ll_absolute" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
</android.game.ludo.LudoGame> 
</LinearLayout> 

它不會顯示任何東西,如果我設置「機器人:背景=」# 「LudoGame」佈局上的FFFFFF「」,然後我看到內容但沒有背景。你能告訴我一些例子如何解決這個問題嗎?

謝謝。

也就是說同樣的方式如何我佈置工作GameLinerLayout擴展的LinearLayout 我@Override的onDraw方法,其中的對象Canvas和在那裏我畫的內容

@Override 
protected void onDraw(Canvas canvas) 
{ 
    super.dispatchDraw(canvas); 
    drawFields(canvas); 
} 

但我不希望繪製背景圖片畫布,當我嘗試定義(使用)我的佈局時,我想(如果可能的話)使用XML設置背景。

回答

1

其中採用另一個線性佈局。它會工作。因爲你還沒有在你的擴展類中定義任何背景屬性,所以你最好在fill_parent的寬度和高度內放入另一個線性佈局。

+0

我嘗試但隨後在「android.game.ludo.LudoGame」的所有內容,我用帆布畫不見了(新linerLayoout是在它)。如何在擴展類中添加該屬性?我可以用畫布設置背景,但每次刷新視圖時都會刷新並顯示背景。 謝謝 – Kec

+0

創建另一個只有你的擴展布局的xml文件,並添加你想要在你的主文件上操作的視圖,只要將它們添加到該XML文件中,所有這些都是該擴展的線性佈局的子視圖,然後你可以與他們做你想做的水手.. –

+0

我編輯我的問題。 – Kec

0

試試這個:它必須工作,我想。

<android.game.ludo.LudoGame xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/ll_absolute" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="@drawable/wood"> 
    </LinearLayout> 
</android.game.ludo.LudoGame> 

爲此擴展布局創建另一個xml文件。

<android.game.ludo.LudoGame xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/ll_absolute" 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent"> 
// now add all the views(not layouts) here, u want to create them with same id in both file 
</android.game.ludo.LudoGame > 

希望你能理解,它可以幫助你......

+0

也許我錯了定義了我需要的東西,所以這是我的情況。我有我的新LinerLayout,我用Canvas繪製形狀,圖像,矩形,並且我無法在該佈局中設置背景,只有這樣,我知道的是,在繪製圖像(用畫布)之前,我的佈局。 因此,當我使用該佈局時,無論以後用XML添加什麼視圖,它都會覆蓋我的佈局,而且還會覆蓋我在其中繪製的形狀。所以也許解決方案是我需要在我的佈局中設置背景,而不是添加其他具有背景的佈局? – Kec

+0

您是否應用拖放操作? –

+0

不是,遊戲沒有「拖放」的可能性,所有的遊戲內容都在我的佈局中。 – Kec