Questions tagged «actionbarsherlock»

ActionBarSherlock是兼容性库的扩展,旨在通过单个API促进在所有Android版本中使用操作栏设计模式。

11
片段MyFragment未附加到活动
我创建了一个小测试应用程序来代表我的问题。我正在使用ActionBarSherlock来实现带有(Sherlock)Fragments的选项卡。 我的代码: TestActivity.java public class TestActivity extends SherlockFragmentActivity { private ActionBar actionBar; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setupTabs(savedInstanceState); } private void setupTabs(Bundle savedInstanceState) { actionBar = getSupportActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); addTab1(); addTab2(); } private void addTab1() { Tab tab1 = actionBar.newTab(); tab1.setTag("1"); String tabText = "1"; tab1.setText(tabText); tab1.setTabListener(new TabListener<MyFragment>(TestActivity.this, "1", …

13
删除动作栏下方的阴影
我使用actionbarsherlock。下面的代码段负责将其背景更改为自定义的背景。 <style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.ActionBar"> <item name="background">@drawable/actionbar_bg</item> <item name="android:background">@drawable/actionbar_bg</item> <...> </style> <style name="Theme.MyApp" parent="@style/Theme.Sherlock.Light"> <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item> <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item> <..> </style> 它适用于actionbarsherlock(在蜂窝以下的版本上)。但是在ICS中,我不希望在操作栏下方有一个阴影。使它消失的样式项是什么?



13
将选项卡与ViewPager一起使用时出现错误“ Java.lang.IllegalStateException活动已被破坏”
我有一个应用程序,其中包含在选项卡模式下使用ActionBarSherlock的应用程序。我有5个选项卡,每个选项卡的内容都是使用片段处理的。但是对于tab2,我有一个片段,该片段的xml文件包含一个ViewPager元素,而该元素又具有一些片段页面。最初启动应用程序时,我可以在选项卡之间进行切换,但是第二次按tab2时,出现上述错误。主要活动如下: public class MainActivity extends SherlockFragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActionBar actionBar = getSupportActionBar(); ActionBar.Tab tab1 = actionBar.newTab().setText("Tab1"); ActionBar.Tab tab3 = actionBar.newTab().setText("Tab3"); ActionBar.Tab tab2 = actionBar.newTab().setText("Tab2"); ActionBar.Tab tab4 = actionBar.newTab().setText("Tab4"); ActionBar.Tab tab5 = actionBar.newTab().setText("Tab5"); Fragment fragment1 = new Tab1(); Fragment fragment3 = new Tab3(); Fragment …

6
如何在ActionBar中显示自定义视图?
我想在操作栏中显示自定义搜索(为此我正在使用ActionBarSherlock)。 我明白了: 但是我想使自定义布局(edittext字段)占据整个可用宽度。 我已经按照这里的建议实现了自定义布局。 这是我的自定义布局search.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" style="?attr/actionButtonStyle" android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_gravity="fill_horizontal" android:focusable="true" > <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical|fill_horizontal" > <EditText android:id="@+id/search_query" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="left|center" android:background="@drawable/bg_search_edit_text" android:imeOptions="actionSearch" android:inputType="text" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|center_vertical" android:src="@drawable/ic_search_arrow" /> </FrameLayout> </LinearLayout> 并在MyActivity: ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowCustomEnabled(true); actionBar.setDisplayShowTitleEnabled(false); actionBar.setIcon(R.drawable.ic_action_search); LayoutInflater inflator = …

7
ActionItem的动画图标
我一直在到处寻找适当的解决方案,但似乎还找不到。我有一个ActionBar(ActionBarSherlock),其中包含一个菜单,该菜单从XML文件扩展而成,并且该菜单包含一个项目,并且该项目显示为一个ActionItem。 菜单: <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_refresh" android:icon="@drawable/ic_menu_refresh" android:showAsAction="ifRoom" android:title="Refresh"/> </menu> 活动: [...] @Override public boolean onCreateOptionsMenu(Menu menu) { getSupportMenuInflater().inflate(R.menu.mymenu, menu); return true; } [...] 该ActionItem显示为带有图标,但没有文本,但是当用户单击该ActionItem时,我希望该图标开始动画制作,更具体地说,是在原地旋转。有问题的图标是刷新图标。 我意识到ActionBar支持使用自定义视图(添加一个Action视图),但是该自定义视图已扩展为覆盖ActionBar的整个区域,并且实际上阻止了除应用程序图标以外的所有内容,在我看来,这不是我想要的。 因此,我的下一个尝试是尝试使用AnimationDrawable并逐帧定义动画,将drawable设置为菜单项的图标,然后onOptionsItemSelected(MenuItem item)获取图标并开始使用进行动画处理((AnimationDrawable)item.getIcon()).start()。然而,这是不成功的。有人知道有什么办法可以达到这种效果吗?

11
UnsupportedOperationException:无法转换为尺寸:type = 0x1
在Android中,我在模拟器和某些移动设备中出现了Error,但在Tablet中却没有: 我不明白实际上是什么错误? 我搜索了许多教程,但找不到任何解决方案。 请帮我解决这个问题。 注意:在此应用程序中,我使用了ActionbarSherlock和主题,可能由于该库或其他任何问题而得到了吗? 我的错误日志是: 09-11 17:52:57.342: E/AndroidRuntime(9935): FATAL EXCEPTION: main 09-11 17:52:57.342: E/AndroidRuntime(9935): android.view.InflateException: Binary XML file line #2: Error inflating class <unknown> 09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.createView(LayoutInflater.java:613) 09-11 17:52:57.342: E/AndroidRuntime(9935): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.inflate(LayoutInflater.java:466) …

8
动作栏的“主页”按钮的onClick侦听器
如何onClickListener为操作栏的“主页”按钮实现自定义? 我已经做了一个操作getSupportActionBar().setDisplayHomeAsUpEnabled(true);,现在我想将用户重定向到某个活动,以防单击“主页”按钮。 我尝试了: @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: item.setOnMenuItemClickListener(new OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { Intent i = new Intent(); i.setClass(BestemmingActivity.this, StartActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); return true; } }); default: return super.onOptionsItemSelected(item); } } 但它永远不会进入onMenuItemClick。 基本上,它就像在此链接中一样完成,但仍未输入到侦听器中。



11
使用片段回栈处理ActionBar标题?
我Activity在中加载了一个位置ListFragment,然后单击它会向下钻取一个级别,并显示一种新类型的ListFragment,替换了原来的级别(使用showFragment下面的方法)。这被放置在后面的堆栈上。 开始时,活动在操作栏中显示默认标题(即,它是根据应用程序的自动设置的android:label)。 在显示层次结构中下一级的列表时,单击的项目名称应成为操作栏的标题。 但是,按时Back,我希望恢复原始的默认标题。这是FragmentTransaction一无所知,因此标题不会恢复。 我已经模糊地阅读了有关FragmentBreadCrumbs,但这似乎需要使用自定义视图。我正在使用ActionBarSherlock,并且希望没有自己的自定义标题视图。 最好的方法是什么?是否有可能没有大量样板代码并且不必跟踪沿途显示的标题? protected void showFragment(Fragment f) { FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.fragment_container, f); ft.addToBackStack(null); ft.commit(); }

14
Android:getSupportActionBar()始终在ActionBarSherlock库中返回null
我试图使用ActionBarSherlock库在Android应用程序中使用选项卡提供向后兼容的ActionBar支持,因此我下载了最新版本,并构建了演示并运行了它。 如果转到操作栏,则选择“选项卡导航”,每次都会崩溃。这是堆栈跟踪: 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): FATAL EXCEPTION: main 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.actionbarsherlock.sample.demos/com.actionbarsherlock.sample.demos.app.ActionBarTabNavigation}: java.lang.NullPointerException 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1748) 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1764) 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): at android.app.ActivityThread.access$1500(ActivityThread.java:122) 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1002) 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): at android.os.Handler.dispatchMessage(Handler.java:99) 09-03 02:34:47.940: ERROR/AndroidRuntime(3078): at android.os.Looper.loop(Looper.java:132) 09-03 02:34:47.940: …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.