我的Android应用程序正在使用支持v4库:
<uses-sdk
android:minSdkVersion="7"
android:maxSdkVersion="19"
android:targetSdkVersion="19" />
Run Code Online (Sandbox Code Playgroud)
它只是作为一个新项目创建的.当我在手机上运行并按下菜单按钮时,它会崩溃:
12-21 15:12:54.170 31705-31705/com.talkweb.woplus E/AndroidRuntime:FATAL EXCEPTION:android.support.v7.app.ActionBarImplICS.getThemedContext(ActionBarImplICS.java:287)中的主要java.lang.NullPointerException Android.support.v7.app.ActionBarActivity.getMenuInflater中android.support.v7.app.ActionBarActivityDelegate.getMenuInflater(ActionBarActivityDelegate.java:98)的android.support.v7.app.ActionBarImplJB.getThemedContext(ActionBarImplJB.java:20) ActionBarActivity.java:71)在android.app.Activity.onCreatePanelMenu(Activity.java:2652)的com.talkweb.woplus.HomeActivity.onCreateOptionsMenu(HomeActivity.java:35)
HomeActivity.java中的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE); // I add this line
setContentView(R.layout.activity_home);
if (savedInstanceState == null) {
webViewFragment = new WebViewFragment();
getSupportFragmentManager().beginTransaction()
.add(R.id.container, webViewFragment)
.commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.home, menu); // line: 35
return true;
}
Run Code Online (Sandbox Code Playgroud)
styles.xml:
<resources>
<!-- Base application theme. --> …Run Code Online (Sandbox Code Playgroud) 我搜索并尝试了几种方法来更改Actionbar Tab文本样式.

我想要"NOW SHOWING"文本的更大文本大小.
这是我的主题.
<style name="Theme.Tabtheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarItemBackground">@drawable/selectable_background_tabtheme</item>
<item name="popupMenuStyle">@style/PopupMenu.Tabtheme</item>
<item name="dropDownListViewStyle">@style/DropDownListView.Tabtheme</item>
<item name="actionBarTabStyle">@style/ActionBarTabStyle.Tabtheme</item>
<item name="android:actionBarTabTextStyle">@style/ActionBarTabTextStyle.Tabtheme</item>
<item name="actionBarTabTextStyle">@style/ActionBarTabTextStyle.Tabtheme</item>
<item name="actionDropDownStyle">@style/DropDownNav.Tabtheme</item>
<item name="actionBarStyle">@style/ActionBar.Solid.Tabtheme</item>
<item name="actionModeBackground">@drawable/cab_background_top_tabtheme</item>
<item name="actionModeSplitBackground">@drawable/cab_background_bottom_tabtheme</item>
<item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Tabtheme</item>
<!-- Light.DarkActionBar specific -->
<item name="actionBarWidgetTheme">@style/Theme.Tabtheme.Widget</item>
</style>
<style name="ActionBarTabTextStyle.Tabtheme" parent="Widget.AppCompat.Base.ActionBar.TabText">
<item name="android:textSize">18sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么 ?
我在Kitkat 4.4.2设备中通过此代码显示一个ActionMode,其中包含来自Fragment,targetSDK 21的代码.我Theme.AppCompat.Light.DarkActionBar在我的应用程序中使用默认主题:
actionMode = getActivity().startActionMode(EventsFragment2.this);
Run Code Online (Sandbox Code Playgroud)
ActionMode显示但作为Light Holo主题小部件.所以我想也许appcompat图书馆还不支持ActionMode.但是,在同一个应用程序中,在选择一些文本时EditText,ActionMode所有花哨的平面图标和动画都显示出来.所以问题在于我的代码.我在这做错了什么?
注意:我ActionBarActivity也在使用.
android android-appcompat android-actionmode material-design
因此,我使用带有工具栏的appcompat作为操作栏。无论我尝试使用哪种属性,都无法更改显示为操作的“选项”菜单项的颜色。IE浏览器,我有下面的代码,并希望将其显示为仅白色时更改其颜色。
<item android:id="@+id/action_login"
android:title="@string/login_join"
vendorSearch:showAsAction="withText|ifRoom"
/>

我的活动扩展了AppCompatActivity,我无法在ActionBar中设置徽标.通常,我使用"logo"属性在Manifest中这样做.不行.在Java中的活动中使用getSupportActionBar.setLogo()或setIcon().不行.
有人能帮助我吗?
谢谢
我目前正在将我的项目转移到Gradle,这个带有多个分支的项目目前正由Jenkins构建.
在Android Studio中构建应用程序之后,我已经推送了我的提交并遇到了一些障碍:Jenkins似乎不明白在哪里可以找到支持库.
A problem occurred configuring root project 'Android_Alpha_Gradle'.
A problem occurred configuring project ':HereAndNowAPI'.
Could not resolve all dependencies for configuration ':HereAndNowAPI:_debugCompile'.
Could not find com.android.support:appcompat-v7:19.0.0.
Searched in the following locations:
https://repo1.maven.org/maven2/com/android/support/appcompat-v7/19.0.0/appcompat-v7-19.0.0.pom
https://repo1.maven.org/maven2/com/android/support/appcompat-v7/19.0.0/appcompat-v7-19.0.0.jar
https://jcenter.bintray.com/com/android/support/appcompat-v7/19.0.0/appcompat-v7-19.0.0.pom
https://jcenter.bintray.com/com/android/support/appcompat-v7/19.0.0/appcompat-v7-19.0.0.jar
Required by:
Android_Alpha_Gradle:HereAndNowAPI:unspecified
Could not find com.android.support:support-v4:22.2.0.
Searched in the following locations:
https://repo1.maven.org/maven2/com/android/support/support-v4/22.2.0/support-v4-22.2.0.pom
https://repo1.maven.org/maven2/com/android/support/support-v4/22.2.0/support-v4-22.2.0.jar
https://jcenter.bintray.com/com/android/support/support-v4/22.2.0/support-v4-22.2.0.pom
https://jcenter.bintray.com/com/android/support/support-v4/22.2.0/support-v4-22.2.0.jar
Required by:
Android_Alpha_Gradle:HereAndNowAPI:unspecified
Run Code Online (Sandbox Code Playgroud)
显然这台机器是无头的,我不确定如何通过命令行安装Android Support Repository.有任何想法吗?
我的应用程序的主要主题继承自Theme.AppCompat,并且我创建了一个选择器,当您按下并将焦点按在Lollipop上时,可以进行Ripple效果.
但是,当我回到4.0设备时,当我聚焦列表视图项时,它默认返回到丑陋的蓝色.我到处寻找定义这种颜色的特性希望在没有任何运气的情况下覆盖它 - 任何想法我怎么能这样做?
更新appcompat到23.1.1时出现此错误:
错误:(264,51)错误:不能访问ListViewCompat 类文件android.support.v7.internal.widget.ListViewCompat未找到
我试图将Xamarin.Android.Support.v7.AppCompat安装到我的应用程序中,但它不会成功安装,我收到以下错误:无法安装包'Xamarin.Android.Support.v7.AppCompat 25.1.1'.
您正在尝试将此软件包安装到以"MonoAndroid,Version = v6.0"为目标的项目中,但该软件包不包含任何与该框架兼容的程序集引用或内容文件.有关更多信息,请与软件包作者联系.
如果将Theme.MaterialComponents.Light设置为主要主题,那么如果在xml布局中使用它们,这两个按钮之间会有什么区别吗?
<Button />
<com.google.android.material.button.MaterialButton />
Run Code Online (Sandbox Code Playgroud)
如我所见,它们的行为均与MaterialButtons相同。如果要获取旧的普通按钮的行为,则必须使用:
<androidx.appcompat.widget.AppCompatButton />
Run Code Online (Sandbox Code Playgroud)
提前致谢!
android android-appcompat android-button material-design material-components-android