मैं नए Android P फ़्लोटिंगएशनबटन का उपयोग करने की कोशिश कर रहा हूँ जो कि इसका एक हिस्सा है com.google.android.material.floatingactionbutton.FloatingActionButton
और मुझे यह चेतावनी मिल रही है:
VisibilityAwareImageButton.setVisibility को केवल एक ही लाइब्रेरी समूह (groupId = com.google.android.material) से बुलाया जा सकता है
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
}
}
मैंने खोज करने का प्रयास किया है और UI दृश्यता परिवर्तनों के जवाब के संबंध में एकमात्र खोज परिणाम है:
UI दृश्यता परिवर्तनों के प्रति प्रतिक्रिया
मैंने यह पता लगाने की कोशिश की कि मैं कैसे देख सकता हूं VISIBLE
कि क्या उस com.google.android.material
पैकेज में कोई अंतर था और मुझे जो एकमात्र मिला था com.google.android.material.floatingactionbutton.FloatingActionButton.VISIBLE
, लेकिन चेतावनी अभी भी बनी हुई है।
शीर्ष स्तर का बिल्ड.ग्रेड
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
}
प्रोजेक्ट-स्तर build.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'
}
संपादित करें:
मुझे ध्यान देना चाहिए कि मैं एंड्रॉइड स्टूडियो संस्करण 3.2 कैनरी 14. का उपयोग कर रहा हूं। ऐसा लगता है कि इस संस्करण के लिए कुछ रिपोर्ट किए गए बग हैं, और मुझे संदेह है कि यह उनमें से एक है।
2 संपादित करें:
समस्या अभी भी एंड्रॉइड स्टूडियो संस्करण 3.2 कैनरी 15 के साथ मौजूद है, लेकिन मुझे इसका उपयोग करने के लिए show()
औरhide()
override fun onCreate(savedInstanceState: Bundle?) {
demoFab = findViewById(R.id.demoFab)
demoFab.show() // this works and doesn't have the warning
}