Intereting Posts
Каков правильный способ построить класс в Котлине? Я хочу определить, является ли класс JVM классом Котлина или нет ListView может отображаться в Activity, но не может отображаться в фрагменте Котлин: Вручную встраивание общей функции дает другой результат? Что такое интеграция интеграции с переходом на глиссирование? RxJava Live Reactive Queue (с выключенным переключателем) Проблемы с настройкой комнаты Kotlin в Android Studio Как можно присвоить значение присваивания _id в Котлин? Kotlin – генерировать toString () для не-данных класса В android kotlin, используя библиотеку степпера, передавая пользовательские значения переключателей по нескольким фрагментам, которые будут использоваться на сводной странице Как включить обработчик, обработанный обработчиком аннотации, для проверки класса пути в Java / Kotlin Экземпляр класса Kotlin assertEqual Использование Mockito, Как мне отобразить класс Kotlin с декларацией поля интерфейса val? Как заменить Doko-Inko, уи-трюк с функциями kotlin 1.1.0 kotlinx-coroutines-core lib? У Kotlin есть array.indexOf, но я не могу понять, как это сделать array.indexOfBy {lambda}

Отсутствующие или конфликтующие зависимости для Anko floatingActionButton

После этого немного устаревшего учебника , я застрял, пытаясь использовать org.jetbrains.anko.design.floatingActionButton . Ошибка:

Не удается получить доступ к классу «android.support.design.widget.FloatingActionButton». Проверьте свой класс classpath на отсутствие или конфликтующие зависимости.

build.gradle (Project)

 buildscript { ext.kotlin_version = '1.1.50' ext.anko_version = '0.10.1' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-beta6' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } 

build.gradle (приложение)

 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 26 buildToolsVersion "26.0.1" defaultConfig { applicationId "uk.co.danielstanton.todoapp.todoapp" minSdkVersion 19 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0' testImplementation 'junit:junit:4.12' androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', { exclude group: 'com.android.support', module: 'support-annotations' }) implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" compile "org.jetbrains.anko:anko:$anko_version" // Anko + Android Support Libraries: // Appcompat-v7 (Anko Commons and Layouts) compile "org.jetbrains.anko:anko-appcompat-v7:$anko_version" compile "org.jetbrains.anko:anko-coroutines:$anko_version" // CardView-v7 compile "org.jetbrains.anko:anko-cardview-v7:$anko_version" // Design compile "org.jetbrains.anko:anko-design:$anko_version" compile "org.jetbrains.anko:anko-design-coroutines:$anko_version" // GridLayout-v7 compile "org.jetbrains.anko:anko-gridlayout-v7:$anko_version" // Percent compile "org.jetbrains.anko:anko-percent:$anko_version" // RecyclerView-v7 compile "org.jetbrains.anko:anko-recyclerview-v7:$anko_version" compile "org.jetbrains.anko:anko-recyclerview-v7-coroutines:$anko_version" // Support-v4 (Anko Commons and Layouts) compile "org.jetbrains.anko:anko-support-v4:$anko_version" } 

MainUI.kt

 import android.support.v4.content.ContextCompat import android.view.Gravity import android.view.View import android.widget.FrameLayout import android.widget.ListView import org.jetbrains.anko.* import org.jetbrains.anko.appcompat.v7.toolbar import org.jetbrains.anko.design.floatingActionButton import org.jetbrains.anko.sdk25.coroutines.onItemLongClick class MainUI(val todoAdapter: TodoAdapter) : AnkoComponent<MainActivity> { override fun createView(ui: AnkoContext<MainActivity>): View = with(ui) { return relativeLayout { var todoList : ListView? =null //textView displayed when there is no task val hintListView = textView("What's your Todo List for today?") { textSize = 20f }.lparams { centerInParent() } //function to show or hide above textView fun showHideHintListView(listView: ListView) { if (getTotalListItems(listView)>0) { hintListView.visibility = View.GONE } else { hintListView.visibility = View.VISIBLE } } //layout to display ListView verticalLayout { todoList=listView { adapter = todoAdapter onItemLongClick { adapterView, view, i, l -> val options = listOf("Completed","In Progress","Not Started","Delete") selector("Task Options", options) {dialogInterface, j -> if (j == 3) { var task=adapter.getItem(i) todoAdapter?.delete(i) showHideHintListView(this@listView) longToast("Task ${task} has been deleted") }else{ longToast("Task ${adapter.getItem(i).toString()} has been marked as \"${options[j]}\"") } } true } } }.lparams { margin = dip(5) } //Add task FloatingActionButton at bottom right floatingActionButton { // <-- HERE imageResource = android.R.drawable.ic_input_add onClick { val adapter = todoList?.adapter as TodoAdapter alert { customView { verticalLayout { toolbar { id = R.id.dialog_toolbar lparams(width = matchParent, height = wrapContent) backgroundColor = ContextCompat.getColor(ctx, R.color.colorAccent) title = "What's your next milestone?" setTitleTextColor(ContextCompat.getColor(ctx, android.R.color.white)) } val task = editText { hint = "To do task " padding = dip(20) } positiveButton("Add") { if(task.text.toString().isEmpty()) { toast("Oops!! Your task says nothing!") } else { adapter.add(task.text.toString()) showHideHintListView(todoList!!) } } } } }.show() } }.lparams { //setting button to bottom right of the screen margin = dip(10) alignParentBottom() alignParentEnd() alignParentRight() gravity = Gravity.BOTTOM or Gravity.END } }.apply { layoutParams = FrameLayout.LayoutParams(matchParent, matchParent) .apply { leftMargin = dip(5) rightMargin = dip(5) } } } //function to get total number of items in list fun getTotalListItems(list: ListView?) = list?.adapter?.count ?: 0 } 

Благодаря!

файл приложения build.gradle

введите описание изображения здесь Я думаю, что вы делаете изменения в https://github.com/Kotlin/anko этого проекта. Вы должны следовать этому https://github.com/ankul09jain/To-doApp

А также

 distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip