我在这里有一个未解决的问题Strange SearchView Behaviour但是我没有答复,但我怀疑这与此问题有关。
我在Eclipse中启动了一个新的应用程序项目,只使用了File - >新的等等我随后根据Android开发文档使用v7支持库添加了Action Bar支持,我现在有一个非常简单的Activity如下...
public class TestActivity extends ActionBarActivity
implements ActionBar.TabListener {
private ActionBar bar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
bar = getSupportActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
bar.addTab(bar.newTab().setText("Tab 1").setTabListener(this));
bar.addTab(bar.newTab().setText("Tab 2").setTabListener(this));
bar.addTab(bar.newTab().setText("Tab 3").setTabListener(this));
}
// ActionBar.TabListener methods here - currently unused
}
除了按照文档中的说明将应用主题设置为Theme.AppCompat之外,我没有对样式或主题做任何事情。
当我启动应用程序时,我看到了......
...但经过大量的搜索和实验,我发现我所要做的就是手动将v7-appcompat库中的abc_tab_selected.9.png复制到我项目的/ res / drawable-hdpi目录中,然后我得到了这(这更像是我期待的)......
那场景的哪一部分被打破了?我是否遗漏了文档中的内容(我已经多次访问过)或者我是否真的需要手动将资源复制到我的项目中以使Action Bar正确设置样式?我之前使用过ActionBarSherlock,只要我设置了正确的应用主题,事情就能正常工作 - 我没有做任何其他事情。
答案 0 :(得分:0)
我是否真的必须手动将资源复制到我的项目中才能使Action Bar正确设置样式?
是。支持库作为jar文件提供。并且jar文件不支持资源,因此您必须手动将它们复制到项目中。
这是v7-appcompat项目的README file所述:
技术上没有源,但src文件夹是必需的 确保构建系统正常工作。内容实际上是位于 在libs / android-support-v7-appcompat.jar中。 随附的资源 也必须包含在申请表中。
这就是docs所说的:
您无法将库项目导出为自包含的JAR文件,如 你会做一个真正的图书馆。相反,您必须编译库 间接地,通过引用依赖应用程序中的库 并构建该应用程序。
我以前使用过ActionBarSherlock,而且事情非常正常
ActionBarSherlock是一个完整的库(或文档所说的“真正的库”),拥有自己的资源,并没有作为jar发布。