如何获取“?android:attr/actionBarSize”与兼容性库
我正在尝试在 Android 2.2 项目中使用 Fragments 和 ActionBar。使用“?android:attr/actionBarSize”时出现一些错误,如何正确获取和设置该值?
示例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frags">
<fragment class="com.example.android.hcgallery.TitlesFragment"
android:id="@+id/frag_title"
android:visibility="gone"
android:layout_marginTop="?android:attr/actionBarSize"
android:layout_width="@dimen/titles_size"
android:layout_height="match_parent" />
<fragment class="com.example.android.hcgallery.ContentFragment"
android:id="@+id/frag_content"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
错误:找不到与给定名称匹配的资源(位于“layout_marginTop”,值为“?android:attr/actionBarSize”)。
I'm trying to use Fragments and ActionBar in a Android 2.2 project. There is some error when using "?android:attr/actionBarSize", how to get and set that value correctly?
Example:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frags">
<fragment class="com.example.android.hcgallery.TitlesFragment"
android:id="@+id/frag_title"
android:visibility="gone"
android:layout_marginTop="?android:attr/actionBarSize"
android:layout_width="@dimen/titles_size"
android:layout_height="match_parent" />
<fragment class="com.example.android.hcgallery.ContentFragment"
android:id="@+id/frag_content"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Error: No resource found that matches the given name (at 'layout_marginTop' with value '?android:attr/actionBarSize').
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该只使用:
请参阅http://developer.android.com/training/basics/actionbar/overlaying。 html
对我来说,替换
为
有助于在 Android 2.2 和 Android 4.3 上启动应用程序,没有任何问题。
You should just use:
See http://developer.android.com/training/basics/actionbar/overlaying.html
For me replacing
with
helped to launch app on Android 2.2 and Android 4.3 without any issues.
我认为问题是actionbar是android 3.0自带的,而你正在使用2.2。但有一种方法可以通过名为“actionbarsherlock”的扩展来跳过此操作。
I think the problem is that actionbar comes with android 3.0 and you are using 2.2. But there is a way to skip this by a extension called "actionbarsherlock".