标签: android-appcompat

无法在我的应用程序中正确包含android支持appcompat - 或者至少,不是主题

我正在尝试使用ActionBar构建一个应用程序(带有"向上"按钮),但我完全没有正确地包含appcompat-v7库.

我正在使用Eclipse.我不想简单地使用Android Studio,因为我曾尝试多次切换到Idea,并且从未像Eclipse那样舒服.

我已经按照d.android.com上的官方说明进行操作,但我没有让它工作.我也广泛搜索并遵循那里发现的建议 - 包括这里的几个主题.

我得到的结果是Eclipse(Fragment,ActionBarActivity等)是由Eclipse找到的,但像主题这样的东西却没有.如果不使用Theme.Appcompat.*主题,我无法正确部署我的应用程序.我尝试设置时遇到的错误android:theme="@android:style/Theme.AppCompat.Light.DarkActionBar"是错误:

Error: No resource found that matches the given name (at 'theme' with value '@android:style/
 Theme.AppCompat.Light.DarkActionBar').
Run Code Online (Sandbox Code Playgroud)

在我写这篇文章时,我想到的可能是我的问题更多的是我试图设置主题而不是appcompat库 - 但我不会假设,希望有人可以帮我弄清楚我哪里出错了.

有趣的是,每当我尝试部署我的应用程序时,eclipse控制台中都会出现以下错误:

[2013-08-28 15:20:07 - android-support-v7-appcompat] Could not find android-support-v7-appcompat.apk!
Run Code Online (Sandbox Code Playgroud)

以下是一些屏幕截图,显示了我的应用程序的属性以及我如何尝试包含appcompat库,该库已导入我的Workspace并已设置为Android库.

Android设置

构建路径设置

android android-appcompat

1
推荐指数
1
解决办法
3910
查看次数

Android appcompat showAsAction ="never".子菜单不会出现

我有一个几乎空的android项目,它使用appcomat.
我有一个菜单项需要始终隐藏(仅在点击时显示在下拉列表中)

    <item
        android:id="@+id/action_settings"
        android:title="@string/action_settings"
        android:orderInCategory="100"
        app:showAsAction="never"/>
Run Code Online (Sandbox Code Playgroud)

它在我的Nexus7上运行正常,但在Galaxy S3上,使用Android 4.3,动作栏中的图标根本没有显示.

android android-appcompat

1
推荐指数
1
解决办法
3889
查看次数

找不到appcompat v7源代码

我开发了我的应用程序.我想让我的应用程序与姜饼兼容.这是我的代码...我用资源MainActivity导入了库appcompat-v7:

import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;

public class MainActivity extends ActionBarActivity  {

    ViewPager Tab;
    TabPagerAdapter TabAdapter;
    ActionBar actionBar;
    public boolean StatusConnection = false;
    public int thread = 0;


    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); 


        TabAdapter = new TabPagerAdapter(getSupportFragmentManager()); 
        Tab = (ViewPager)findViewById(R.id.pager); 
        Tab.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {

                    @Override
                    public void onPageSelected(int position) {
                        actionBar.setSelectedNavigationItem(
                                position);
                        Tab.setCurrentItem(position);
                    }

                }); …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat

1
推荐指数
1
解决办法
1686
查看次数

Iappcompat v21:材料设计ActionBar()InflateException error-inflating-class

试图将(appcompat v20)中的应用程序移动到新库appcompat v21

与:appcompat-v7:20工作很好

我这样做了:

ActionBarActivity implements ActionBar.TabListener, ActionBar.OnNavigationListener
Run Code Online (Sandbox Code Playgroud)

有这个:

android.view.InflateException: Binary XML file line #17: Error inflating class android.support.v7.internal.widget.ActionBarOverlayLayout

扩展类android.support.v7.internal.widget.ActionBarView时出错

android nullpointerexception fragment android-appcompat android-actionbar

1
推荐指数
2
解决办法
1万
查看次数

android - 错误自定义搜索建议AppCompat主题

我正在尝试自定义我的AppCompat主题(Base.Theme.AppCompat.Light.DarkActionBar)来更改搜索建议背景颜色和文本.
这是我的样式文件:

<resources>
    <!-- extend one of the Theme.AppCompat themes -->
    <style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
        <!-- customize the color palette -->
        <item name="colorPrimary">@color/material_blue_500</item>
        <item name="colorPrimaryDark">@color/material_blue_700</item>
        <item name="colorAccent">@color/material_blue_200</item>
        <item name="android:windowBackground">@color/material_blue_200</item>
        <item name="android:actionBarStyle">@style/ActionBar</item>
        <item name="android:actionBarWidgetTheme">@style/ActionBarWidget</item>
    </style>

    <!-- Actionbar Theme -->
    <style name="ActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
        <item name="android:background">@color/material_blue_200</item>
        <item name="android:icon">@drawable/ic_launcher</item>
    </style>

    <style name="ActionBarWidget" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- SearchView customization-->
        <item name="searchViewSearchIcon">@drawable/ic_action_search</item>
        <item name="searchViewCloseIcon">@drawable/ic_action_remove</item>
        <item name="searchViewTextField">@drawable/ab_textfield_searchview</item>
        <item name="searchViewAutoCompleteTextView">@style/AutoCompleteTextView</item>
    </style>

    <style name="AutoCompleteTextView" parent="Widget.AppCompat.Light.AutoCompleteTextView">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textCursorDrawable">@null</item>
        <item name="android:textColorHighlight">@color/material_blue_200</item>
    </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

编译后,我收到这种错误:
错误:(24,21)找不到匹配给定名称的资源:attr'searchViewAutoCompleteTextView'.
错误:(22,21)找不到与给定名称匹配的资源:attr'searchViewCloseIcon'.
错误:(21,21)找不到与给定名称匹配的资源:attr'searchViewSearchIcon'.
错误:(23,21)找不到与给定名称匹配的资源:attr'searchViewTextField'.
有什么建议吗?

search android themes background android-appcompat

1
推荐指数
1
解决办法
2458
查看次数

Android支持库22.1和AlertDialog错误?

我试图将我的AlterDialog更新为新的android.support.v7.app.AlertDialog,只需更改:

import android.app.AlertDialog
Run Code Online (Sandbox Code Playgroud)

import android.support.v7.app.AlertDialog
Run Code Online (Sandbox Code Playgroud)

新的AlertDialogs现在在Pre-Lollipop上显示为Material样式,但对话窗口更宽(在Tablet上测试).这不是一个错误吗?应该是android.support.v7.app.AlertDialog与android.app.AlertDialog相同的宽度?

android android-appcompat android-alertdialog material-design

1
推荐指数
1
解决办法
1319
查看次数

alertDialogTheme无效(AppCompat v23)

我通过以下方式主题:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primaryDark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="alertDialogTheme">@style/AppTheme.Dialog</item>
</style>

<style name="AppTheme.Dialog" parent="Theme.AppCompat.Dialog.Alert">
    <item name="colorAccent">@color/accent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但是,当我在我的应用程序中创建AlertDialogs时,它们根本不是主题.其他组件如ActionBar正在正确着色.我错过了什么吗?

我使用的是AppCompat版本com.android.support:appcompat-v7:23.1.1,我的设备安装了Android 4.4.4.

android android-appcompat android-theme android-alertdialog

1
推荐指数
1
解决办法
2405
查看次数

以编程方式更改我的AppCompatActivity SupportActionBar的标题文本

为什么这看起来很难实现?我有一个条件,我想动态更改我的活动的操作栏.

android.support.v7.app.ActionBar ab = getSupportActionBar();
ab.setTitle(getString(R.string.voted_on_by));
Run Code Online (Sandbox Code Playgroud)

为什么不将我的操作栏的标题更改为我想要的字符串?

在onCreate中我这样做:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

assert getSupportActionBar() != null;

getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

java android android-appcompat android-actionbar appcompatactivity

1
推荐指数
1
解决办法
2925
查看次数

Android AppCompat AlertDialog样式与主题

我希望能够设置一个主题来在AppCompat AlertDialog中设置消息文本大小.主题需要有parent="@style/Theme.AppCompat.Dialog".我花了几个小时搜索并尝试了所有的建议,但它们似乎都没有使用那个基本主题.

如果父级更改为Holo主题,那么我可以使用更改消息文本大小textAppearanceMedium,但对话框的其余部分看起来非常难看:S

目前我的主题是(所有这一切目前都已联系并正在运作):

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="MyDialogTheme" parent="@style/Theme.AppCompat.Dialog">
    <!-- Used for the buttons -->
    <item name="colorAccent">@color/colorPrimary</item>
    <!-- Button text size -->
    <item name="android:textSize">@dimen/ui_text_size</item>
    <!-- Content text color -->
    <item name="android:textColorPrimary">@color/ui_text_color</item>
    <!-- Title style -->
    <item name="android:windowTitleStyle">@style/MyDialogTitleStyle</item>
    <!-- Button style (except size) -->
    <item name="android:textAppearanceButton">@style/MyDialogButtonTextAppearance</item>
    <!-- Dialog background -->
    <item name="android:windowBackground">@color/ui_background</item>
  </style>

  <style name="MyDialogTitleStyle" parent="@style/RtlOverlay.DialogWindowTitle.AppCompat">
    <item name="android:textAppearance">@style/MyDialogTitleTextAppearance</item>
    <item name="android:textSize">@dimen/ui_large_text_size</item>
  </style>

  <style name="MyDialogTitleTextAppearance">
    <item name="android:textSize">@dimen/ui_large_text_size</item>
    <item name="android:textAllCaps">true</item>
    <item name="android:textColor">@color/ui_title_color</item>
  </style>

  <style name="MyDialogButtonTextAppearance">
    <item …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-theme android-styles

1
推荐指数
1
解决办法
746
查看次数

适用于AndroidX AppCompat软件包的Proguard规则

到目前为止,我正在使用AppCompat库,但现在我已将项目迁移到AndroidX库。

我坚持使用androidx的 proguard规则

如您所知,我们正在对AppCompat使用proguard规则,如下所示:

-keep public class android.support.v7.widget.** { *; }
-keep public class android.support.v7.internal.widget.** { *; }
-keep public class android.support.v7.internal.view.menu.** { *; }

-keep public class * extends android.support.v4.view.ActionProvider {
    public <init>(android.content.Context);
}
Run Code Online (Sandbox Code Playgroud)

我已经搜索了很多,但是没有找到任何合适的文档。

AndroidX Proguard规则是否有任何更新?

android proguard android-appcompat android-proguard androidx

1
推荐指数
1
解决办法
1237
查看次数