android定义资源xml文件中的值

时间:2014-01-26 01:28:41

标签: android android-actionbar overlay

我尝试将dimens.xml中的值定义为

<resources>

    <!-- Default screen margins, per the Android Design guidelines. -->
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
    <dimen name="activity_action_bar_overlay_margin">?attr/actionBarSize</dimen>

</resources>

并使用activity_action_bar_overlay_margin作为

<!-- activity_main.xml in layout folder, this is the main activity-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

    android:paddingTop="@dimen/activity_action_bar_overlay_margin" >

<!-- activity_display_message.xml in layout folder, this is sub-activity -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:paddingTop="@dimen/activity_vertical_margin" >

并且应用程序在运行时崩溃了。现在,如果我使用:

android:paddingTop="?attr/actionBarSize"

所述

Specify Layout Top-margin

代码部分有效,因为display_message_activity(我在其中添加了Up按钮,getSupportActionBar().setDisplayHomeAsUpEnabled(true);)无法显示从main_activity传递的消息,无论是否指定

android:paddingTop="?attr/actionBarSize"

所以我有两个问题:

  1. 如何在资源?attr/actionBarSize文件中指定xml(我不知道它是什么类型的值)等值。
  2. 如何显示传递给display_message_activity的邮件?我不知道是否是覆盖显示消息的textView的操作栏。
  3. 欢呼声

1 个答案:

答案 0 :(得分:0)

如果你想使用actionBar attrs,必须安装android 3.0或更高版本。 来自android源框架资源的'?attr / actionBarSize'; path:framework / base / core / res / res / values / styles。 参考文档链接:android action bar