我有一个自定义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
有没有办法将BottomNavigationView代码中新设计库的背景颜色设置为自定义颜色值而不是颜色资源?任何"技巧"可能吗?
我目前的解决方案
BottomNavigationView透明bottomNavigationView但这看起来很丑陋,特别是因为我必须使用自定义行为为背景视图与BottomNavigationView父级中的CoordinatorLayout... 进行并行动画...
什么是完全之间的差异java.util.File和android.support.v4.provider.DocumentFile在Java中的Android?
我正在尝试在我的项目中使用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
我正在尝试将以下支持库添加到我的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.
我们在playstore上有一个minSdk版本为15的应用程序,并且api 18及以下版本的活跃用户不到0.7%。因此,我们计划将minSdk版本增加到19。我尝试将minSdk版本增加到19,这可以帮助我们将apk大小减少约650KB(在重新启动时)(当前APK大小为24MB)。我认为通过减少支持库的反向移植,我们应该能够减少方法数量。我想念什么吗?除了减少apk大小和简化测试之外,增加minSdk除了将带来什么好处?
我试图用我的应用程序中的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
我有一个简单的带有项目(技巧)的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
令人惊讶的是,我很难抓住源自的服务实例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
尝试在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)