2014-02-08 25 views
4

我創建了一個android應用程序。如何使移動和平板電腦中使用的響應式android應用程序?

當我在手機上運行我的應用程序時,它工作得很好,但是當我在平板電腦上運行時,應用程序的佈局發生了變化。

那麼,如何使在移動和平板電腦中使用的響應android應用程序?

+0

如果你關心你的應用程序中的圖形,看看這裏的「9Patch」http://developer.android.com/tools/help/draw9patch.html –

+0

看到我的下一個更新 –

回答

6

在Android上,我們可以使用屏幕尺寸選擇,從Android 3.2的介紹,確定要使用的佈局。 更多詳情請登錄http://android-developers.blogspot.in/2011/07/new-tools-for-managing-screen-sizes.html。以下代碼片段已從相同鏈接中提取:

public class MyActivity extends Activity 
{ 
    @Override protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(); 
     Configuration config = getResources().getConfiguration(); 
     if (config.smallestScreenWidthDp >= 600) 
     { 
      setContentView(R.layout.main_activity_tablet); 
     } 
     else 
     { 
      setContentView(R.layout.main_activity); 
     } 
    } 
} 

尺寸配置的另一個很好的參考是保留分隔符。這是詳細解釋在:http://www.vanteon.com/downloads/Scaling_Android_Apps_White_Paper.pdf

3

我只是在談論移動響應設計。 有了佈局,我相信你可以通過目前唯一的區別如下:

res/layout/my_layout.xml   // layout for normal screen size 
res/layout-small/my_layout.xml  // layout for small screen size 
res/layout-large/my_layout.xml  // layout for large screen size 
res/layout-large-land/my_layout.xml // layout for large screen size in landscape mode 

你可以找到你可以添加到文件夾結構,不同的設置Documentationandroid-developers.blogspot

爲了區分更多信息以適應其他類型的平板電腦和屏幕尺寸android引入了一種新的方式來指定更多離散屏幕尺寸的資源。新技術基於佈局所需的空間量(如600dp的寬度),而不是試圖使佈局適合廣義尺寸組(例如大尺寸或xlarge)。

更新:基本上有兩種方法可以讓你的受衆羣體中使用自適應設計一個很好的經驗:

  1. 優化內容的佈局。

  2. 適應顯示的內容。

UPDATE2:寫這樣的代碼在你的活動

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
super.onConfigurationChanged(newConfig); 

if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { 
    setContentView(R.layout.landscapeView); 

} else { 
    setContentView(R.layout.portraitView); 
} 

而且還清單檔案中的

android:configChanges="orientation|keyboardHidden|screenSize" 

加入這一行因此,這將同時處理的事情,它會不重新啓動您的活動,並會根據您的方向更改加載佈局。欲瞭解更多信息,請http://www.codeproject.com/Articles/422431/Handling-screen-layout-changes-in-Android

+0

有沒有可能使使用單一佈局的手機和平板電腦兼容的設計? –

+0

@SagarZala不,這是不可能的。爲了適應其他類型的平板電腦和屏幕尺寸,android引入了一種新方法來指定更多離散屏幕尺寸的資源。新技術基於佈局所需的空間量(如600dp的寬度),而不是試圖使佈局適合廣義尺寸組(例如大尺寸或xlarge)。 –

+0

@M D.好的先生,但如何管理這些佈局?你有什麼樣的例子嗎?請給我。 –

相關問題