2013-08-30 18 views
0

我目前正在爲Eclipse(Java)中的智能手機和平板電腦開發一個佈局項目。我遵循開發人員網站上的指示,如何爲不同的屏幕創建不同的佈局,並且工作得很好。具有不同功能的多個頁面

我遇到的問題是,我想要不同的佈局中的不同按鈕,當我從中刪除1個按鈕時,可以說我的智能手機版本,但我想在我的平板電腦版本中使用它,智能手機版本因MainActivity .java它需要一個他找不到的按鈕。

我試圖通過爲每個設備創建一個不同的mainActivity頁面來解決問題,但我無法弄清楚在AndroidManifest中根據當前使用的設備可以創建具有不同名稱的多個啓動頁面。

問候。

回答

0

如果它有一個不同的按鈕,但按鈕仍然存在,那麼你可以只是初始化變量引用另一個按鈕,代碼仍然應該工作。

如果行爲不一樣,那麼您可以擁有一個包含大部分常用代碼的基類,以及每個佈局的兩個子類。

+0

我解決了這個問題,改變他的知名度到'走出去',並把一個不同的按鈕作爲替代品,這個作品。它確實創建了按鈕,但是在我的佈局中它不存在,這使得可以將另一個按鈕放在相同的位置,而不會增大布局。感謝您的幫助:) –

0

問題是你可能會給不同的佈局文件中的不同按鈕不同的id。根據佈局文件夾更改繪圖/樣式,但爲不同佈局中的所有按鈕保留相同的ID。

+0

嗨Ritaban,按鈕在每個佈局中都有相同的ID,因爲有些我希望在每個佈局中使用,問題是當我不想在某個佈局中使用特定的按鈕時,他崩潰,因爲按鈕被調用,但在我的佈局不存在。但我找到了適合我的解決方案!感謝您的維修人員。 –

+0

然後可以動態通過代碼通過檢查等,如果配置添加按鈕{ \t \t \t布爾largescreen =真((getResources()getConfiguration()屏幕布置&Configuration.SCREENLAYOUT_SIZE_MASK)> = Configuration.SCREENLAYOUT_SIZE_LARGE); \t \t} – Ritaban

0

爲了達到這個目的,我建議你使用AndroidQuery。它支持在一個簡單的代碼中實現多個UI。

public void renderContent(Content content, View view) { 

     //this is a phone! 

     //this view exists 
     aq.id(R.id.textInMobileLayoutOnly).text("Welcome to my Mobile App!"); 

     //this button exist in tablet layout only, but it's ok 
     //AQuery will ignore all the operations on this view 
     aq.id(R.id.butttonInTabletOnly).text("Open a new tab!");   

} 
相關問題