Aus*_*ney 7 android android-fragments fragmenttransaction android-actionbar-compat
编辑:如果我延伸FragmentActivity而不是ActionBarActivity我的布局再次显示(ActionBar当然没有).
设备ActionBar上的工作原理4.x,但在我的2.3设备上,我得到的是它下面ActionBar的空白屏幕.在Fragment似乎没有被获取添加到Activity.
的themes.xml
<style name="AppTheme" parent="AppBaseTheme">
<item name="actionBarStyle">@style/Widget.ActionBar</item>
</style>
Run Code Online (Sandbox Code Playgroud)
主题-v11.xml
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:actionBarStyle">@style/Widget.ActionBar</item>
</style>
Run Code Online (Sandbox Code Playgroud)
styles.xml
<style name="Widget.ActionBar" parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">@color/actionbar_background</item>
<item name="background">@color/actionbar_background</item>
</style>
Run Code Online (Sandbox Code Playgroud)
活动 onCreate()
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
myFragment = new WallFragment();
fragmentTransaction.add(android.R.id.content,
myFragment, myFragment.FRAGMENT_TAG);
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)
我正在使用Gradle将AppCompat ActionBar库包含在我的应用程序中.
compile 'com.android.support:appcompat-v7:18.0.+'
Run Code Online (Sandbox Code Playgroud)
She*_*lum 11
hierarchyviewer在Android SDK的工具目录中加载,看来放置片段的视图android.R.id.content位于4.x设备上,并且位于R.id.action_bar_activity_content运行AppCompat ActionBar库的2.3设备上.
不幸的是,在添加片段时,您可能需要基于平台版本进行分支.这在http://code.google.com/p/android/issues/detail?id=58108(尚不确定3.x设备)中有建议.
使用此方法可以获得正确的添加视图Fragment.我的测试还表明,当使用AppCompat ActionBar库时,3.x设备的行为类似于2.3设备.
public static int getContentViewCompat() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH ?
android.R.id.content : R.id.action_bar_activity_content;
}
Run Code Online (Sandbox Code Playgroud)


| 归档时间: |
|
| 查看次数: |
3602 次 |
| 最近记录: |