Tôi đang cố gắng sử dụng Android P FloatingActionButton mới là một phần của com.google.android.material.floatingactionbutton.FloatingActionButton
và tôi nhận được cảnh báo này:
VisibilityAwareImageButton.setVisibility chỉ có thể được gọi từ cùng một nhóm thư viện (groupId = com.google.android.m vật liệu)
import com.google.android.material.floatingactionbutton.FloatingActionButton
import android.view.View
class MainActivity : AppCompatActivity() {
lateinit var demoFab: FloatingActionButton
override fun onCreate(savedInstanceState: Bundle?) {
demoFab = findViewById(R.id.demoFab)
demoFab.visibility = View.VISIBLE // the warning is here
}
}
Tôi đã thử tìm kiếm và kết quả tìm kiếm duy nhất liên quan đến việc đáp ứng các thay đổi về khả năng hiển thị của UI:
Đáp ứng với thay đổi khả năng hiển thị của UI
Tôi đã thử khám phá làm thế nào tôi có thể xem liệu có một VISIBLE
giá trị int trong com.google.android.material
gói đó không và cái duy nhất tôi tìm thấy là gì com.google.android.material.floatingactionbutton.FloatingActionButton.VISIBLE
, nhưng cảnh báo vẫn còn.
Xây dựng cấp cao nhất.
buildscript {
ext.kotlin_version = '1.2.41'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0-alpha14'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "com.google.gms:oss-licenses:0.9.2"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven { url "http://oss.sonatype.org/content/repositories/snapshots/" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Xây dựng cấp dự án.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.oss.licenses.plugin'
android {
compileSdkVersion 'android-P'
defaultConfig {
applicationId "com.codeforsanjose.maps.pacmap"
minSdkVersion 21
targetSdkVersion 'P'
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
splits {
abi {
enable true
reset()
include 'arm64-v8a', 'armeabi', 'armeabi-v7a', 'mips', 'x86', 'x86_64'
universalApk false
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.0.0-alpha1'
implementation 'androidx.constraintlayout:constraintlayout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha2'
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:5.5.2'
//implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:6.1.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-locationlayer:0.5.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation:0.13.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.13.0'
implementation 'com.google.android.gms:play-services-oss-licenses:15.0.1'
implementation 'com.google.code.gson:gson:2.8.2'
implementation 'com.squareup.moshi:moshi:1.5.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation 'com.squareup.retrofit2:converter-moshi:2.4.0'
implementation "com.squareup.retrofit2:adapter-rxjava2:2.3.0"
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'io.reactivex.rxjava2:rxkotlin:2.2.0'
}
biên tập:
Tôi nên lưu ý rằng tôi đang sử dụng Android Studio phiên bản 3.2 canary 14. Có vẻ như đã có một số lỗi được báo cáo cho phiên bản này và tôi nghi ngờ đây là một trong số chúng.
chỉnh sửa 2:
Vấn đề vẫn tồn tại với Android Studio phiên bản 3.2 canary 15, nhưng tôi đã tìm thấy một cách giải quyết cho nó bằng cách sử dụng show()
vàhide()
override fun onCreate(savedInstanceState: Bundle?) {
demoFab = findViewById(R.id.demoFab)
demoFab.show() // this works and doesn't have the warning
}