如何定义“当动作条为600dp时使用此大小,当另一个为720 dp时”。这也会调整图标大小吗?
答案 0 :(得分:1)
要为不同的屏幕尺寸自定义操作栏的大小,您需要在styles.xml
文件夹中创建values
的多个副本。然后,自定义主题声明标记下的操作栏的大小。就像你想将Action Bar大小设置为600dp一样,这样做:
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:actionBarSize">600dp</item>
</style>
通过这种方式,您可以针对不同的屏幕尺寸使用不同的操作栏尺寸。你可以随心所欲地拥有它们。
希望这有帮助。
答案 1 :(得分:-1)
编辑:
要更好地控制操作栏,您必须使用新工具栏替换操作栏。
在Toolbar
res/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.xml
或res/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);
会将ActionBar
替换为Toolbar
!现在,您可以在不同的xml中使用不同的属性
另外,请确保您应用于活动的主题具有NoActionBar
属性
<style name="Theme.MyTheme" parent="Theme.AppCompat.NoActionBar">
添加更多..您可以从官方博客文章中了解有关android-design-support-library的更多信息。
OLD:
支持不同设备的Android文档是适当的方法!您可以从supporting-devices和tablets-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
和图标
您应该始终提供适当缩放到每个广义密度存储区的位图资源:low
,medium
,high
和extra-high
密度。这有助于您在所有屏幕密度上实现良好的图形质量和性能。
MyProject/
res/
drawable-xhdpi/
awesomeimage.png
drawable-hdpi/
awesomeimage.png
drawable-mdpi/
awesomeimage.png
drawable-ldpi/
awesomeimage.png