当使用ActionbarCompat作为Actionbar BackPort时,我遇到的问题是action-icons没有显示 - 相同的代码/ res与actionbarsherlock一起使用.
我做错了什么还是不支持?我也错过了getSupportMenuInflater()ABS在ActionBar compat中的整个Menu/MenuItem 部分 - 任何人都可以对此有所了解吗?
我试图ActionBar通过使用v7 AppCompat库来显示我的API 8模拟器,但它没有显示.甚至Split Action Bar也没有显示.用户必须单击菜单按钮才能显示选项.我需要4个选项才能始终在屏幕上显示.
编辑 ::
我有android:uiOptions="splitActionBarWhenNarrow",如果有帮助......
这是我的菜单xml代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:symagine="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/action_twitter"
android:icon="@drawable/ic_action_twitter_icon"
android:orderInCategory="1"
android:showAsAction="always"
symagine:showAsAction="always"
android:title="@string/twitter_desc"/>
<item
android:id="@+id/action_share"
android:icon="@drawable/ic_action_share"
android:orderInCategory="5"
android:showAsAction="always"
symagine:showAsAction="always"
android:title="@string/share_desc"/>
<item
android:id="@+id/action_rightDrawer"
android:icon="@drawable/ic_action_i"
android:orderInCategory="6"
android:showAsAction="always"
symagine:showAsAction="always"
android:title="@string/action_info"/>
<item
android:id="@+id/action_facebook"
android:icon="@drawable/facebook_icon"
android:orderInCategory="2"
android:showAsAction="always"
symagine:showAsAction="always"
android:title="@string/facebook_desc"/>
<item
android:id="@+id/action_contact"
android:orderInCategory="3"
android:showAsAction="collapseActionView"
symagine:showAsAction="collapseActionView"
android:title="@string/action_contact"/>
<item
android:id="@+id/about_us"
android:orderInCategory="4"
android:showAsAction="collapseActionView"
symagine:showAsAction="collapseActionView"
android:title="@string/action_about_us"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
这是我的HomeActivity代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it …Run Code Online (Sandbox Code Playgroud) android android-menu android-support-library android-actionbar-compat
作为我正在开发的应用程序的一部分,我试图获取对ActionBar的容器视图的引用。我使用了这个问题的答案,只要有问题的 Android 设备运行 API 级别 11 或更高级别,它就可以很好地为我工作。但是,该应用程序需要在 API 级别 9(目标 API 级别为 19)之前工作,并且 Gingerbread 设备给我带来了问题。我最初在该项目中使用 Sherlock,但最近改为使用 v7 兼容库。我可以在 Gingerbread 设备(按钮工作等)上以正常方式查看操作栏并与之交互,但是当我尝试获取容器时它失败了。我正在使用的代码是这样的(注意 - 它在 的子类中运行ActionBarActivity):
private FrameLayout getActionBarContainer() {
FrameLayout result = null;
int resId = getResources().getIdentifier("action_bar_container", "id", "android");
try {
result = (FrameLayout)getWindow().getDecorView().findViewById(resId);
}
catch (Exception e) {
// If we get an exception, just eat it
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
在被问到之前先回答几个问题:
ClassCastException …您好我正在使用演示应用程序,我需要ActionBar在其中心设置标题.我已经尝试了一些不适合我的SO帖子.我正在试用Android 4.3手机.
/sf/answers/1523937411/,/sf/answers/1347124341/
但没有什么对我有用.有没有办法ActionBar在Android中使用appcompat 设置中心标题?
我这样做就像下面但仍然标题在左侧.
center_action_bar_title.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="18sp" />
Run Code Online (Sandbox Code Playgroud)
在活动中
TextView customView = (TextView)
LayoutInflater.from(getActivity()).inflate(R.layout.center_action_bar_title,
null);
ActionBar.LayoutParams params = new
ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT,
ActionBar.LayoutParams.MATCH_PARENT, Gravity.CENTER);
customView.setText(text);
((ActionBarActivity)getActivity()).getSupportActionBar().setCustomView(customView, params);
Run Code Online (Sandbox Code Playgroud) android android-appcompat android-actionbar android-actionbar-compat