已经看到:NoClassDefFoundError Android与ActionBarActivity和ActionBarActivity在手机上捕获错误
我想在我的项目中使用ActionBarCompact.我已经在我的项目中链接了android-support-v7项目及其jar,并检查了许多来源的步骤,但我仍然无法解决问题.
当我构建我的项目时,没有错误,但在运行时有异常.不知道为什么没有检测到课程.请告诉我有什么问题.谢谢.
码:
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.widget.ArrayAdapter;
public class mainMenu extends ActionBarActivity implements ActionBar.OnNavigationListener {
ActionBar actionbar;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menutab);
actionbar = getSupportActionBar();
actionbar.setTitle("Menu");
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
ArrayAdapter<CharSequence> mSpinnerAdapter = ArrayAdapter.createFromResource(this,R.array.menu_items, R.id.simpleText);
actionbar.setListNavigationCallbacks(mSpinnerAdapter, this);
}
@Override
public boolean onNavigationItemSelected(int arg0, long arg1)//item pos, itemid
{
switch (arg0) {
case 0:
System.out.println("selected: " + arg0);
break;
case 1:
System.out.println("selected: " + arg0);
break;
case 2:
System.out.println("selected: …Run Code Online (Sandbox Code Playgroud) android noclassdeffounderror buildpath android-actionbar-compat android-actionbaractivity
我想使用半透明的动作栏.
android:minSdkVersion is "9"
我试过下面的代码
<style name="myActionBarTheme" parent="android:style/Widget.Holo.ActionBar">
<item name="android:background">#FF4444</item>
<item name="android:alpha">1.0</item>
</style>
Run Code Online (Sandbox Code Playgroud)
它显示错误: android:alpha requires API level 11 (current min is 9)
我使用工具栏代替操作栏,并且我想继续使用工具栏的默认向上图标。我相信这是 ic_menu_back 可绘制的。然而,这个资源似乎是私有的,因为我无法通过 android.R.drawable.ic_menu_back 访问它。
我是否必须手动提取此图像并将其放入我的可绘制文件夹中,或者有没有办法可以强制工具栏使用默认的向上按钮?
我目前正在开发一个新的android项目.
我使用的是ActionBar Compact带Tab navigation mode.
我3 tabs在我的活动中添加了.
在第一个片段中,有一个listView和TextView(包含选定行列表的文本)
现在,当我选择第二个选项卡(片段(空)),并返回到我的第一个片段时,TextView包含所选的值 但是当我选择第三个选项卡(片段3为空)时,返回到我的第一个片段, TextView是初学者.我认为我的问题出现在TabListener中
有人可以帮我吗!这是代码(简化)
主要活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/** Getting a reference to action bar of this activity */
mActionbar = getSupportActionBar();
/** Set tab navigation mode */
mActionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
/** set HomeButton to true */
mActionbar.setHomeButtonEnabled(true);
/** Getting a reference to ViewPager from the layout */
mPager = (ViewPager) findViewById(R.id.pager);
/** Getting a reference to FragmentManager */
FragmentManager fm = …Run Code Online (Sandbox Code Playgroud) 我想在我的应用程序中更改ActionBar的标题文本颜色.我在很多方面都尝试过,但我无法实现.我不想以编程方式执行此操作,因为当应用程序启动时,它会显示具有先前颜色的操作栏,然后更改为新的操作栏.我支持Api Level 8,我的xml是使用Android Action Bar Style Generator生成的.然后我尝试用此更改标题文本颜色.标题文字颜色仍为黑色.
这是我的代码:
<resources>
<style name="Theme.Dbtools_style" parent="@style/Theme.AppCompat.Light">
<item name="actionBarItemBackground">@drawable/selectable_background_dbtools_style</item>
<item name="popupMenuStyle">@style/PopupMenu.Dbtools_style</item>
<item name="dropDownListViewStyle">@style/DropDownListView.Dbtools_style</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.Dbtools_style</item>
<item name="actionDropDownStyle">@style/DropDownNav.Dbtools_style</item>
<item name="actionBarStyle">@style/ActionBar.Solid.Dbtools_style</item>
<item name="actionModeBackground">@drawable/cab_background_top_dbtools_style</item>
<item name="actionModeSplitBackground">@drawable/cab_background_bottom_dbtools_style</item>
<item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Dbtools_style</item>
<!-- Remove icon in Action Bar -->
<item name="android:displayOptions">showHome|homeAsUp|showTitle</item>
<item name="displayOptions">showHome|homeAsUp|showTitle</item>
<item name="android:icon">@android:color/transparent</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/ActionBar.Solid.Dbtools_style</item>
</style>
<style name="ActionBar.Solid.Dbtools_style" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
<item name="background">@drawable/ab_solid_dbtools_style</item>
<item name="backgroundStacked">@drawable/ab_stacked_solid_dbtools_style</item>
<item name="backgroundSplit">@drawable/ab_bottom_solid_dbtools_style</item>
<item name="progressBarStyle">@style/ProgressBar.Dbtools_style</item>
<!-- Title Text Color -->
<item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
<!-- Support library compatibility -->
<item name="titleTextStyle">@style/MyActionBarTitleText</item> …Run Code Online (Sandbox Code Playgroud) DrawerLayout我的应用程序中有一个ActionBar. 打开菜单时,该图标不可见。再次关闭菜单后,该图标将重新出现。现在,它只是立即显示\消失。我想为图标添加淡入淡出动画。有什么办法可以达到这个效果吗?
此代码当前用于切换图标:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
if(!drawerOpened){
inflater.inflate(R.menu.chats_activity_action, menu);
} else {
actionBar.setDisplayUseLogoEnabled(false);
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
这是在 XML 文件中定义图标的方式:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/menu_filter"
android:title="Add a user"
app:showAsAction="always"
android:icon="@drawable/plus_icon"/>
</menu>
Run Code Online (Sandbox Code Playgroud) animation android android-actionbar android-actionbar-compat
我正在使用appcompat使用com.android.support:appcompat-v7:23.0.3并获得以下错误的Android应用程序.
错误:(22,9)错误:类AppCompatActivity中的方法setSupportActionBar不能应用于给定类型; 需要:android.support.v7.widget.Toolbar发现:android.widget.Toolbar原因:实际参数android.widget.Toolbar无法通过方法调用转换转换为android.support.v7.widget.Toolbar
android android-appcompat android-support-library android-actionbar-compat android-toolbar
我的启动器图标没有出现在我的ActionBar中,尽管设置了android:icon属性(当我安装应用程序时,启动器出现在我的主屏幕上).注意:我正在使用片段,他们也提供了操作项 - 但这不应该影响主页图标集,对吗?
以下是我的清单中的一些相关代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns="http://schemas.android.com/apk/res/android"
package="com.mywebsite.myapp">
<application
android:name=".MyApp"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name">
...etc...
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
来自styles.xml的代码:
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
来自menu_main.xml的代码,以获得良好的衡量标准:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<!-- Note: my fragments also contribute action items. -->
<item
android:id="@+id/action_about"
android:orderInCategory="100"
android:title="@string/menu_item_about"
app:showAsAction="never" />
</menu>
Run Code Online (Sandbox Code Playgroud)
以及MainActivity.java中的一些代码:
package com.mywebsite.myapp;
import android.support.v7.app.ActionBarActivity;
...etc...
public class MainActivity …Run Code Online (Sandbox Code Playgroud) 如何将ActionBar标题设为大写?一些答案建议推杆<item name="android:textAllCaps">true</item>,但当我把它放在actionBar样式或actionBar中时,这没有任何效果titleTextStyle.它只有在我使用AppTheme风格时才有效果,但是在我的应用程序中也有很多东西也是我不想要的.
我的风格:
<style name="AppTheme" parent="AppBaseTheme">
<!-- snip snip -->
<item name="android:actionBarStyle">@style/NewActionBar</item>
</style>
<style name="NewActionBar" parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">@color/text_pink</item> <!-- no effect -->
<item name="android:titleTextStyle">@style/NewActionBarTitle</item>
<item name="android:displayOptions">showHome|showTitle</item>
<item name="android:textAllCaps">true</item> <!-- no effect -->
</style>
<style name="NewActionBarTitle">
<item name="android:textSize">@dimen/tiny_text_size</item> <!-- no effect -->
<item name="android:textAllCaps">true</item> <!-- no effect -->
</style>
Run Code Online (Sandbox Code Playgroud)
为什么这些NewActionBar和NewActionBarTitle样式似乎无论我放入什么都没有效果?我的风格或动作栏有什么问题或什么?
编辑:我刚刚完全删除了样式NewActionBar和NewActionBarTitle(以及在样式中对它们的引用AppTheme),并且操作栏看起来完全相同.所以有些东西被破坏了 会是什么呢?
我有一个包含以下布局的片段,我在视图寻呼机的帮助下添加了两个片段:
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#2096f3"
android:elevation="6dp"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_below="@id/tab_layout"
/>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
并在代码中:
TabLayout tabLayout = (TabLayout) rootView.findViewById(R.id.tab_layout);
tabLayout.addTab(tabLayout.newTab().setText(tabs[0]));
tabLayout.addTab(tabLayout.newTab().setText(tabs[1]));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
viewPager = (ViewPager) rootView.findViewById(R.id.pager);
adapter = new MyViewPagerAdapter(getFragmentManager(),2);
viewPager.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
我在视图寻呼机的片段中有一个滚动视图.当我开始向下滚动时,我希望操作栏隐藏.怎么做到这一点?
我在活动中有一个工具栏,我正在添加一些片段.如何调整它得到预期的结果:
工具栏:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/background_floating_material_dark"
android:elevation="4dp"
android:paddingTop="1dp"
app:layout_scrollFlags="scroll|enterAlways">
Run Code Online (Sandbox Code Playgroud)
android android-actionbar-compat android-toolbar android-coordinatorlayout