2015-09-26 105 views
0

我該怎麼做才能定義「什麼時候它是一個600dp使用這個大小的動作欄,當它是720dp這個另一個」。這是否也會調整圖標?如何爲不同的屏幕尺寸使用不同的操作欄大小?

+0

嘗試爲相同的佈局創建多個文件,但針對不同的屏幕尺寸。 – Swap

+0

我做到了。我爲5英寸智能手機創建了一個,一個用於7個平板電腦,另一個用於10個平板電腦。除了操作欄之外,一切都調整正確。我是否必須添加特定的欄來調整大小?這裏是我的10'平板電腦的佈局代碼 http://pastebin.com/raw.php?i=PEYqJepi – JAF

+0

您是否嘗試在創建的每個佈局文件中手動更改操作欄大小? – Swap

回答

-1

編輯:

爲了能夠更好地控制操作欄,您必須用新的工具欄取代你的動作條。

Toolbarres/layout/my_layout.xml

<android.support.v7.widget.Toolbar 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/toolbar" 
    android:layout_height="?attr/actionBarSize" 
    android:layout_width="match_parent" 
    android:background="?attr/colorPrimary" /> 

,並再次在res/layout-large-land/my_layout.xmlres/layout-large/my_layout.xml

<android.support.v7.widget.Toolbar 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/toolbar" 
    android:layout_height="200dp" //different height because for layout-large-land 
    android:layout_width="match_parent" 
    android:background="?attr/colorPrimary" /> 

然後在活動的onCreate()

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.my_layout); 

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
} 

setSupportActionBar(toolbar);意志[R把你的ActionBarToolbar!現在,您可以在具有不同屬性的不同的XML的

另外,還要確保你應用到你的活動主題有NoActionBar屬性

<style name="Theme.MyTheme" parent="Theme.AppCompat.NoActionBar"> 

要添加更多。你可以從官方博客閱讀更多關於android-design-support-library帖子。

OLD:

關於支持不同設備的android文檔是遵循適當的方法!您可以從supporting-devicestablets-and-handsets

有一個良好的閱讀和專爲supporting different screen sizes

爲了優化在不同屏幕尺寸的用戶體驗,您應該爲您想支持的每個屏幕尺寸的獨特的佈局XML文件。每個佈局應保存到相應的資源目錄中,並以 - <screen_size>後綴命名。例如,大屏幕的獨特佈局應保存在res/layout-large/之下。

MyProject/ 
    res/ 
     layout/    # default (portrait) 
      main.xml 
     layout-land/   # landscape 
      main.xml 
     layout-large/  # large (portrait) 
      main.xml 
     layout-large-land/ # large landscape 
      main.xml 

和圖標

你應該總是提供適當縮放到每一個廣義密度桶位圖資源:lowmediumhighextra-high密度。這有助於您在所有屏幕密度上實現良好的圖形質量和性能。

MyProject/ 
    res/ 
     drawable-xhdpi/ 
      awesomeimage.png 
     drawable-hdpi/ 
      awesomeimage.png 
     drawable-mdpi/ 
      awesomeimage.png 
     drawable-ldpi/ 
      awesomeimage.png 
+0

有人可以推倒表決嗎? –

+0

很高興知道,但它不回答這個問題。不管怎麼說,還是要謝謝你。我不是那個爲你投票-1的人,以防萬一......我只是想知道如何調整操作欄的大小,它是唯一沒有調整大小的東西,我已經爲多種屏幕尺寸完成了多種佈局,這裏是代碼,我可以添加什麼來調整操作欄的大小? http://pastebin.com/raw.php?i=PEYqJepi – JAF

+0

你沒有太多的控制動作吧..使用工具欄與新的設計支持庫.. –

1

爲了自定義操作欄的大小不同的屏幕尺寸,你需要在你values文件夾中創建了一些styles.xml副本。然後,自定義主題聲明標籤下的操作欄的大小。就像如果你想爲600 dp設置操作欄的大小,像這樣做:

<style name="AppTheme" parent="Theme.AppCompat.Light"> 

    <item name="android:actionBarSize">600dp</item> 

</style> 

通過這種方式,你可以有不同的動作條大小不同的屏幕大小。你可以擁有儘可能多的你想要的。

希望這會有所幫助。