如何通过兼容性库获取“android:attr / actionBarSize”

我试图在Android 2.2项目中使用片段和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')。

Solutions Collecting From Web of "如何通过兼容性库获取“android:attr / actionBarSize”"

你应该只使用:

 android:layout_marginTop="?attr/actionBarSize" 

请参阅http://developer.android.com/training/basics/actionbar/overlaying.html

“…带有android:前缀的是用于Android平台的版本,没有前缀的版本适用于从支持库读取样式的旧版本…”

替我换

 android:layout_marginTop="?android:attr/actionBarSize" 

 android:layout_marginTop="?attr/actionBarSize" 

帮助在Android 2.2和Android 4.3上启动应用程序,没有任何问题。

我认为问题是,操作栏来与android 3.0和您使用的是2.2。 但是有一种方式可以通过名为“actionbarsherlock”的扩展来跳过这个。