- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在我的项目中成功实现了 actionsherlock。所以这是我的代码:
public class ActiontabActivity extends SherlockFragmentActivity {
ActionMode mMode;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.Theme_Sherlock_Light_DarkActionBar);
setContentView(R.layout.main);
ActionBar bar = getSupportActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
bar.setDisplayShowHomeEnabled(false);
bar.setDisplayShowTitleEnabled(false);
bar.setTitle("Currency Exchange");
bar.addTab(bar
.newTab()
.setText("Converter")
.setTabListener(
new TabListener<Fragment>(this, "Converter",
ConverterTab.class, null)));
bar.addTab(bar
.newTab()
.setText("Favorites")
.setTabListener(
new TabListener1<Fragment>(this, "Favorites",
FavoritesTab.class, null)));
if (savedInstanceState != null) {
bar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0));
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("tab", getSupportActionBar()
.getSelectedNavigationIndex());
}
public class TabListener<T extends Fragment> implements ActionBar.TabListener {
private final FragmentActivity mActivity;
private final String mTag;
private final Class<ConverterTab> mClass;
private final Bundle mArgs;
private Fragment mFragment;
public TabListener(FragmentActivity activity, String tag, Class<ConverterTab> clz, Bundle args) {
mActivity = activity;
mTag = tag;
mClass = clz;
mArgs = args;
FragmentTransaction ft = mActivity.getSupportFragmentManager().beginTransaction();
// Check to see if we already have a fragment for this tab, probably
// from a previously saved state. If so, deactivate it, because our
// initial state is that a tab isn't shown.
mFragment = mActivity.getSupportFragmentManager().findFragmentByTag(mTag);
if (mFragment != null && !mFragment.isDetached()) {
ft.detach(mFragment);
}
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
ft = mActivity.getSupportFragmentManager()
.beginTransaction();
if (mFragment == null) {
mFragment = Fragment.instantiate(mActivity, mClass.getName(),
mArgs);
ft.add(android.R.id.content, mFragment, mTag);
ft.commit();
} else {
ft.attach(mFragment);
ft.commit();
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
if (mFragment != null) {
//this segment removes the back history of everything in the tab you are leaving so when you click on the tab again you go back to a fresh start
FragmentManager man = mFragment.getFragmentManager();
if(man.getBackStackEntryCount()>0) //this check is required to prevent null point exceptions when clicking off of a tab with no history
man.popBackStack(man.getBackStackEntryAt(0).getName(), FragmentManager.POP_BACK_STACK_INCLUSIVE); //this pops the stack back to index 0 so you can then detach and then later attach your initial fragment
//also it should be noted that if you do popbackstackimmediate here instead of just popbackstack you will see a flash as the gui changes back to the first fragment when the code executes
//end
ft.detach(mFragment);
}
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
public class TabListener1<T extends Fragment> implements ActionBar.TabListener {
private final FragmentActivity mActivity;
private final String mTag;
private final Class<FavoritesTab> mClass;
private final Bundle mArgs;
private Fragment mFragment;
public TabListener1(FragmentActivity activity, String tag, Class<FavoritesTab> clz, Bundle args) {
mActivity = activity;
mTag = tag;
mClass = clz;
mArgs = args;
FragmentTransaction ft = mActivity.getSupportFragmentManager().beginTransaction();
// Check to see if we already have a fragment for this tab, probably
// from a previously saved state. If so, deactivate it, because our
// initial state is that a tab isn't shown.
mFragment = mActivity.getSupportFragmentManager().findFragmentByTag(mTag);
if (mFragment != null && !mFragment.isDetached()) {
ft.detach(mFragment);
}
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
ft = mActivity.getSupportFragmentManager()
.beginTransaction();
if (mFragment == null) {
mFragment = Fragment.instantiate(mActivity, mClass.getName(),
mArgs);
ft.add(android.R.id.content, mFragment, mTag);
ft.commit();
} else {
ft.attach(mFragment);
ft.commit();
}
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
if (mFragment != null) {
//this segment removes the back history of everything in the tab you are leaving so when you click on the tab again you go back to a fresh start
FragmentManager man = mFragment.getFragmentManager();
if(man.getBackStackEntryCount()>0) //this check is required to prevent null point exceptions when clicking off of a tab with no history
man.popBackStack(man.getBackStackEntryAt(0).getName(), FragmentManager.POP_BACK_STACK_INCLUSIVE); //this pops the stack back to index 0 so you can then detach and then later attach your initial fragment
//also it should be noted that if you do popbackstackimmediate here instead of just popbackstack you will see a flash as the gui changes back to the first fragment when the code executes
//end
ft.detach(mFragment);
}
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
// TODO Auto-generated method stub
}
}
}
我在转换器选项卡中放置了一个按钮,在 Collection 夹选项卡中放置了一个复选框。但现在我希望当我运行我的应用程序时,它最初没有选择任何选项卡。只需显示主屏幕,当我按下任何选项卡时,它会显示其内容。因为最初我想在没有选择任何选项卡时显示其他内容。请告诉我该怎么做?请告诉我如何最初显示主屏幕,然后当我选择任何选项卡时它会显示其内容。我已附上我的项目的图片:
最佳答案
您可以通过以下方式执行此操作:
bar.addTab(yourTab,false);
像这样,选项卡仍然是可视选择的,但监听器中的 onTabSelected 方法中的操作不会执行。
关于java - 如何最初不选择actionbarsherlock中的任何选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11440691/
我通过创建两个不同的项目、库项目和我自己的 android 项目实现了 ActionBarSherlock。现在我正在考虑将库项目放在我的应用程序库目录中并将该项目附加到我的应用程序。这在逻辑上可能吗
与许多其他 Android 开发人员一样,我安装了 Android Studio,但是如何将 actionbarsherlock 安装到 Android Studio 中? 有什么帮助吗?我什至不知道
您好,我在导入后遇到了 ActionBarSherlock 的问题。 我做了以下步骤: 我从库文件夹中导入了东西 我检查了项目是否设置为 IsLibrary 我选择了项目构建目标:Android 4.
我正在迁移我的代码以使用 Actionbarsherlock。我已经完成了我需要的所有代码调整,并且我的项目编译正常没有错误,但是我得到以下异常: java.lang.NoClassDefFoundE
我在 Eclipse 中有一个现有项目 MyProject,它使用库 actionbarsherlock(4.3.1 版)。该项目在 android studio 中编译并运行,但我没有得到构建变体。
我想要 Sherlock 操作栏左侧的微调器,但由于标准行为,它出现在右侧。[见附件图片 如何解决? 最佳答案 好的,我已经通过使用导航列表而不是在 menu.xml 中手动添加微调器来完成此操作:
我正在尝试使用 Eclipse Indigo 和 ADT r20 构建一个带有 ActionBarSherlock 4.1 的小型示例应用程序。 我创建了一个包含空白 Activity 的新 Andr
我已经坚持了好几天/几周了。我正在尝试为 actionbarsherlock 添加 aar,但我一直收到此错误: Failed to notify project evaluation listene
我通过 eclipse 创建了一个新的 Android 项目,其中包含 MainActivity。我将 ActionBarSherlock 添加到项目中(“属性”>“Android”,然后单击“添加”
尝试从 ActionBarSherlock 开始。下载库。使用上次更新设置 ADT,SDK 相同。 尝试进行简单的 Activity : import com.actionbarsherlock.ap
我一直在尝试将 ActionbarSherlock maven 依赖项添加到我的项目中 com.actionbarsherlock library 4.2.0 在我的 po
我想使用支持库 r11(尤其是嵌套片段)的实际版本中的新功能。 ABS 4.2.0 可以实现吗? 谢谢, 米尔科 最佳答案 最新的支持库 r11 似乎在 ABS 4.2 上运行良好。我用 r11 版本
我有一个Android Studio项目,该项目依赖于build.gradle中设置的ActionBarSherlock: dependencies { compile 'com.action
我使用带有 3 个选项卡的 SherlockFragmentActivity。每个选项卡都包含一个 SherlockFragment。 如果我使用以下代码重新启动我的应用程序(以应用主题):(感谢 D
我正在使用 ActionBarSherlock、Scala、Sbt 和 android-plugin。一切都工作正常,但突然无法编译。我使用 git 回退到以前有效的提交,但它仍然会抛出以下 12 个
我试图弄清楚为什么我的 APK 在导出时有 21 MB 大。我正在使用 HoloEverywhere 和 ActionBarSherlock,因此我正在做一个实验,看看如果没有它们,我的 APK 会有
我有一个扩展 SherlockFragment 的类,它有一个 actionbarItem“过滤器” TabbedFragment.java public class TabbedFragment e
首先,我想说我已经修改了方法needsDividerBefore,现在菜单项之间出现了分隔线。但是,我想自定义这个分隔线,我尝试了前面提到的所有方法,但我没有成功。 其次,我想要的分隔线与使用的 fo
我有很多菜单项 - 有些是用 Java 代码定义的,有些是用 XML 定义的。 XML 中的那些都将 orderInCategory 设置为较高的值。 在代码中定义的项目中,有些有图标,有些没有。只有
我有一个使用 Viewpagerindicator 的应用程序。我正在使用它的标签部分。我使用黑色背景和默认的蓝色指示器颜色。我想在我的应用程序中添加一个操作栏,所以我开始使用 Actionbarsh
我是一名优秀的程序员,十分优秀!