标签: android-support-library

使用app:srcCompat自定义ImageView背景绘制

我有一个自定义ImageView,并且正在动态为其绘制背景,例如:

@Override
protected void onDraw(Canvas canvas){
    p.setColor(SkinHelper.getColor(getContext(), R.color.color_transparent_white));
    canvas.drawPath(hexagon.getPoints(0, 0), p);

    p.setColor(SkinHelper.getColor(getContext(), R.color.color_dark));
    canvas.drawPath(hexagon.getPartPoints(0, 0, (int) mNumericValue), p);
    super.onDraw(canvas);
}
Run Code Online (Sandbox Code Playgroud)

如果我在xml中设置imageview的图像,例如

android:src="@drawable/selector_plan_cancel"
Run Code Online (Sandbox Code Playgroud)

比一切都好。但是我正在使用支持库,所以我想像这样设置imageView的图像

app:srcCompat="@drawable/selector_plan_cancel"
Run Code Online (Sandbox Code Playgroud)

而且不起作用。我应该怎么做?

java android android-layout android-imageview android-support-library

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

Design BottomNavigationView - 在代码中设置背景颜色

有没有办法将BottomNavigationView代码中新设计库的背景颜色设置为自定义颜色值而不是颜色资源?任何"技巧"可能吗?

我目前的解决方案

  • 我让BottomNavigationView透明
  • 我在后面添加了第二个视图 bottomNavigationView
  • 我更新了这个视图的背景

但这看起来很丑陋,特别是因为我必须使用自定义行为为背景视图与BottomNavigationView父级中的CoordinatorLayout... 进行并行动画...

android android-support-library bottomnavigationview

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

Java中File和DocumentFile的区别

什么是完全之间的差异java.util.Fileandroid.support.v4.provider.DocumentFile在Java中的Android?

java android file android-support-library documentfile

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

android.support.v4库出错

我正在尝试在我的项目中使用Android Skype SDK 示例代码,并且我收到大量错误android.support.v4 not found.
android-support-v4.jar文件已存在于我的libs文件夹中.
我已经关注了其他文章并尝试删除并再次添加,但没有成功.有人可以帮我吗?

我的gradle文件

apply plugin: 'com.android.application'

def ROOTDIR     = file("..").absolutePath

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    useLibrary 'org.apache.http.legacy'


defaultConfig {
    applicationId "it.moondroid.chatbot"
    minSdkVersion 17
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    multiDexEnabled true

    jackOptions {
      //  enabled true
    }
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}



buildTypes {
    debug {
        minifyEnabled false
        debuggable true
        jniDebuggable true
    }

    release {
        debuggable true
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    } …
Run Code Online (Sandbox Code Playgroud)

java android android-support-library android-gradle-plugin skypedeveloper

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

Android支持库 - 无法解决

我正在尝试将以下支持库添加到我的buid.gradle中:

 buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
    }
}

apply plugin: 'com.android.application'

repositories {
    mavenCentral()
}

android {
    useLibrary 'org.apache.http.legacy'

    compileSdkVersion 26
    buildToolsVersion "23.0.3"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 26

    }

    signingConfigs {
        release {

        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

repositories {
    jcenter()
}


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.code.gson:gson:2.7'
    compile 'com.android.support:support-v7:26.0.0'
    compile 'com.android.support:appcompat-v7:26.0.0'
    compile 'com.android.support:cardview-v7:26.0.0'
    compile 'com.melnykov:floatingactionbutton:1.1.0'
    compile 'it.sephiroth.android.library.imagezoom:imagezoom:1.0.5'
    //Apptentive
    compile 'com.apptentive:apptentive-android:2.1.3@aar'
    //compile 'com.ToxicBakery.viewpager.transforms:view-pager-transforms:1.0.0'

}
Run Code Online (Sandbox Code Playgroud)

我收到错误,说明每个库"无法解决",然后是上面的每行代码.我希望能够继续使用最新的支持库来获得常规支持,appcompat和cardview.

android gradle android-support-library

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

通过增加android中的minSdk版本可以获得什么优势

我们在playstore上有一个minSdk版本为15的应用程序,并且api 18及以下版本的活跃用户不到0.7%。因此,我们计划将minSdk版本增加到19。我尝试将minSdk版本增加到19,这可以帮助我们将apk大小减少约650KB(在重新启动时)(当前APK大小为24MB)。我认为通过减少支持库的反向移植,我们应该能够减少方法数量。我想念什么吗?除了减少apk大小和简化测试之外,增加minSdk除了将带来什么好处?

sdk android android-support-library android-min-sdk

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

设置Chrome自定义标签时出现“请安装Android支持存储库”警告

我试图用我的应用程序中的Chrome自定义标签替换WebView,以使用户可以更快地访问内容。

因此,我在这里关注Chrome开发者网站文档。

我已经将此依赖项添加到我的gradle文件中:

dependencies {
...
compile 'com.android.support:customtabs:27.0.2'
}
Run Code Online (Sandbox Code Playgroud)

但是完成此操作后,即使安装了Android支持存储库,也会出现一个错误,我需要安装它。

错误输出:

    Error:(10, 0) Could not find method compile() for arguments [com.android.support:customtabs:27.0.2] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Please install the Android Support Repository from the Android SDK Manager.
<a href="openAndroidSdkManager">Open Android SDK Manager</a>
Run Code Online (Sandbox Code Playgroud)

我还阅读了一些其他帖子,指出用户遇到了此问题(但与Chrome的“自定义标签”无关),有些用户写道,此问题是因为SDK位置设置错误。

我检查了我的东西,一切准备就绪。还要检查我的计算机上是否存在另一个SDK位置,但是只有一个。

地点: /Users/ardacebi/Library/Android/sdk

这是SDK Manager的消息,表示已安装Android支持存储库,并且没有可用的更新:

我也尝试过卸载和重新安装Support Repository 3次。

我该怎么办?谢谢。

android google-chrome android-support-library android-studio chrome-custom-tabs

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

RecyclerView notifyItemRangeInserted不保持滚动位置

我有一个简单的带有项目(技巧)的recyclerview,底部有一个加载微调器。

这是项目计数和项目视图类型方法的外观:

  @Override
  public int getItemViewType(int position) {
    if (position == getItemCount() - 1) { // last position
      return LOADING_FOOTER_VIEW_TYPE;
    }
    else {
      return TIP_VIEW_TYPE;
    }
  }

  @Override
  public int getItemCount() {
    return tips.size() + 1; // + 1 for the loading footer
  }
Run Code Online (Sandbox Code Playgroud)

基本上,我在所有物品下都只有一个加载微调器。

我曾经这样创建适配器:

  public TipsListAdapter(TipsActivity tipsActivity, ArrayList<Tip> tips) {
    this.tipsActivity = tipsActivity;
    this.tips = tips;
  }
Run Code Online (Sandbox Code Playgroud)

然后,一旦我获取了其他项目,就可以像这样调用add:

public void addTips(List<Tip> tips) {

    // hide the loading footer temporarily
    isAdding = true;
    notifyItemChanged(getItemCount() - 1);

    // insert the …
Run Code Online (Sandbox Code Playgroud)

android android-support-library recycler-adapter android-recyclerview recyclerview-layout

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

如何访问MediaBrowserServiceCompat服务的实例?

令人惊讶的是,我很难抓住源自的服务实例MediaBrowserServiceCompat.

对于典型的服务,为了实现这一点,使用本地绑定器

class MyService extends MediaBrowserServiceCompat {
  class MyBinder extends Binder {
    public MyService getService() {
      return MyService.this;
    }

  private final MyBinder binder = new MyBinder();

  @Override
  public IBinder onBind(Intent intent) {
    return binder;
  }

  public void doMagic() { // <-- How to call this from activity?
    // ...
  }
}

// At the activity, for example, this binder is retrieved through 
// `onServiceConnected()`, typecast to `MyBinder` and thus 
// `getService()` gets us the service instance.
Run Code Online (Sandbox Code Playgroud)

但是,这不适用于派生的服务MediaBrowserServiceCompat …

android android-service android-mediaplayer android-support-library android-service-binding

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

从androidx的支持库中调用Api 28类

尝试在Android手机上运行调试模式时遇到此错误。

合理的原因为什么找不到应用程序,OnUnhandledKeyEventListener因为它是在api 28中添加的,而我的手机运行的是api 27,但是为什么它应该尝试作为支持库呢?是库中的错误还是我遗漏了一些东西?即使您创建一个空的android studio项目并进行重构->迁移到AndroidX,也会发生这种情况

    I/zygote64: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
        at void androidx.core.view.ViewCompat.setOnApplyWindowInsetsListener(android.view.View, androidx.core.view.OnApplyWindowInsetsListener) (ViewCompat.java:2422)
        at android.view.ViewGroup androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.java:637)
        at void androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.java:518)
        at void androidx.appcompat.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.java:466)
        at void androidx.appcompat.app.AppCompatActivity.setContentView(int) (AppCompatActivity.java:141)
        at void com.infradev.lessontimer.LoginActivity.onCreate(android.os.Bundle) (LoginActivity.java:25)
        at void android.app.Activity.performCreate(android.os.Bundle, android.os.PersistableBundle) (Activity.java:7084)
        at void android.app.Activity.performCreate(android.os.Bundle) (Activity.java:7075)
        at void android.app.Instrumentation.callActivityOnCreate(android.app.Activity, android.os.Bundle) (Instrumentation.java:1215)
        at android.app.Activity android.app.ActivityThread.performLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent) (ActivityThread.java:2767)
        at void android.app.ActivityThread.handleLaunchActivity(android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:2892)
        at void android.app.ActivityThread.-wrap11(android.app.ActivityThread, android.app.ActivityThread$ActivityClientRecord, android.content.Intent, java.lang.String) (ActivityThread.java:-1)
        at void android.app.ActivityThread$H.handleMessage(android.os.Message) (ActivityThread.java:1613) …
Run Code Online (Sandbox Code Playgroud)

android exception android-support-library androidx

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