Курс по Jetpack Compose Android | Card, Box, Image | #3 | Android Studio

Поделиться
HTML-код
  • Опубликовано: 2 фев 2025

Комментарии • 133

  • @Aid1366
    @Aid1366 Год назад +18

    Доброе!:
    Card(
    elevation = 5.dp
    )
    Никак не хочет принимать,ошибка хоть головой об стену)),может быть в новой версии flamingo ,elevation больше нет...))?

    • @NecoRuChannel
      @NecoRuChannel  Год назад +22

      Это не из за Flamingo а из за того что по умолчанию идет Material3 и в нем выглядит так: elevation = CardDefaults.cardElevation(5.dp)

    • @NecoRuChannel
      @NecoRuChannel  Год назад +11

      То есть передаем не просто число а CardElevation есть CardDefaults класс через который передаем значения

    • @Aid1366
      @Aid1366 Год назад +5

      @@NecoRuChannel О спасибо! Выручили..и этим только они усложнили..

    • @footballcompass3898
      @footballcompass3898 10 месяцев назад +1

      ​@@Aid1366 у них это теперь в приоритете, всё усложнять 😅

    • @dedpihto680
      @dedpihto680 8 месяцев назад

      балин потратил минут 20 чтобы это найти в документации. зашел в комменты написать о решении а тут уже есть. а ведь раньше при работе с xml этот елевейшн указывался в 1 клик мышки.

  • @gorbulevsv
    @gorbulevsv 4 месяца назад +1

    Спасибо, урок интересный и доступный.

  • @evz59
    @evz59 Год назад +1

    мужик, ты идеально все объясняешь. спасибо огромное!🤝

  • @PavelStr-x5w
    @PavelStr-x5w 7 месяцев назад

    Большое спасибо за уроки! Комментарий в поддержку ! :)

  • @sergeyplotnikov5031
    @sergeyplotnikov5031 3 года назад +3

    Всё очень понятно и легко заходит! Большое спасибо!

  • @posix-dev
    @posix-dev 2 года назад +2

    Коммент ради продвижения!) Спасибо за видео. Все очень грамотно и подробно объясняется!)

  • @mikhaillazarev5378
    @mikhaillazarev5378 6 месяцев назад +1

    Все понятно, спасибо за видео)

  • @ЮрійБережний-с7ъ
    @ЮрійБережний-с7ъ 3 года назад +1

    Спасибо за урок ! Все просто и понятно. Ждём следующий.

  • @TheDamiankain
    @TheDamiankain 2 года назад +2

    Это очень крутой и понятный урок. Пожалуйста продолжайте, вы делаете очень важное и полезное дело! Спасибо вам огромное!

  • @artlinestudio6735
    @artlinestudio6735 Год назад +2

    Отличный урок. Все понял с первого раза! Большое спасибо!

  • @АльфредАхметгалеев
    @АльфредАхметгалеев 3 года назад +1

    Спасибо Сергей. Заработало. Очень интересно посмотреть будущие ролики про Jetpack compose.

  • @letscheckoutthegames344
    @letscheckoutthegames344 3 года назад +1

    Спосибо Сергей . Мы очень рады.Best teacher

  • @OCEH6
    @OCEH6 3 года назад +1

    Большое спасибо! Отличного дня!

  • @ЗемфираФаритовна-ю9г
    @ЗемфираФаритовна-ю9г 3 года назад +2

    Очень классно) Спасибо за выпуск!)) Ждём так же продолжение выпусков про заработок на простом приложении)

  • @MrAlex-cw5fs
    @MrAlex-cw5fs Год назад

    спасибо тебе большое, отличный курс

  • @Stan_Kniazev
    @Stan_Kniazev Год назад

    Отличное объяснение! Надеюсь, дальше всё будет так же подробно. Спасибо вам!

  • @СветланаМоторина-ю2м

    Все очень понятно, спасибо большое!!!

  • @ЕваХаритонова-ц6л
    @ЕваХаритонова-ц6л Год назад +1

    лучший в мире блогер и педагог! спасибо огромное

  • @ПавелКулагин-ф7й
    @ПавелКулагин-ф7й 3 года назад +3

    Привет,хотелось бы отдельно выразить большое спасибо тебе за контент и просьба,довести этот курс уроков до конца.
    Пока что нету возможности сделать подписку,но в будущем обязательно сделаю.
    Удачи тебе)

    • @NecoRuChannel
      @NecoRuChannel  3 года назад +2

      Спасибо большое, этот курс обязательно доведу до конца!

  • @konstantin1151
    @konstantin1151 Год назад +2

    Ох, уж этот UI... Столько хлопот - и только для того, чтобы глазу пользователя приятно было смотреть :)

    • @footballcompass3898
      @footballcompass3898 10 месяцев назад +2

      Я тоже не понимаю, все тупо усложнили, по моему визуальное построение проекта, было намного проще, понятнее, удобнее, напридумывали кучу всего нового, забыв о своей первой цели и задачи, походу Андроид студио скоро уступит какому то новобранцу на рынке 😊
      Даже Пайтон и тот задумывается о визуализации построение проектов, этот Котлин с Джекпаст Кампосе просто идёт в 19 век, а нечего что на старте наоборот стремились к ХМЛ разметке, понятной для простого пользователя, а не расписание команд понятные только опытным пользователям 😅

    • @dedpihto680
      @dedpihto680 8 месяцев назад

      @@footballcompass3898 да ппц. сидишь и думаешь что изучать. неужели им было трудно прикрутить к этому всему визуальный редактор как в xml чтобы вся эта чушь просто генерировалась как раньше

    • @АлександрЮтушуй
      @АлександрЮтушуй 7 месяцев назад

      @@footballcompass3898 усложнили?) переучишься на компос и со временем поймешь кайф, он быстрее, меньше ошибок, быстрее пишется и легче форматируется дополняется и т.д

  • @Елена-ь1е6ю
    @Елена-ь1е6ю 3 года назад +2

    Спасибо за урок, очень интересно и просто, хотелось бы в дальнейшем рассмотреть работу с фрагментами

  • @Настя-т9н1ы
    @Настя-т9н1ы 3 года назад +1

    Спасибо за подробные объяснения, это очень помогает

  • @luide2167
    @luide2167 3 года назад +3

    Когда я в первые начинал задумываться о том как пишут приложения на телефон то примерно вот так вот и представлял. Но когда увидел использование xml понял, что я был наивен и так просто ничего не бывает. А тут на тебе. Бывает.

    • @luide2167
      @luide2167 Год назад +1

      Возможно xml изначально задумывался как временное решение т.к. его не нужно было изобретать.

  • @МузаффарБаротов-ю5ш

    Отличный канал, все предельно понятно

  • @antonychepel5797
    @antonychepel5797 3 года назад +2

    Спасибо за урок!) Наконец то отвыкаю от xml, но и есть многому учится в Jetpack, хоть у меня есть опыт с Flutter как декларативная разработка, но пока Jetpack кажется труднее)

  • @sandroisu1274
    @sandroisu1274 10 месяцев назад

    Спасибо за этот контент

  • @deansanchez3385
    @deansanchez3385 3 года назад +1

    Лучший, благодарю!

  • @ephitariathegame2brainstud996
    @ephitariathegame2brainstud996 2 года назад

    Большое спасибо за видео. Очень полезно и понятно.

  • @rb3270
    @rb3270 Год назад

    Спасибо!!! Очень дохочего объясняет.

  • @ЛЁВА-у1ц
    @ЛЁВА-у1ц 2 года назад

    Спасибо. Сергей молодец.

  • @lazaroskal2901
    @lazaroskal2901 3 года назад +1

    Спасибо за урок

  • @АльфредАхметгалеев
    @АльфредАхметгалеев 3 года назад +8

    Сергей как всегда здорово. А можно в этом проекте добавить допустим ...№ телефона чтобы при нажатии выходил Dial. Было бы здорово в качестве примера и для знаний конечно же.

  • @antonparfenov8519
    @antonparfenov8519 3 года назад +2

    Классно!!! Сергей спасибо. После твоих уроков решил перейти на compose, но много чего не ясно. Главное не понятно где писать саму логику? Ведь все эти "виджеты" они как бы должны быть слепые, просто следить за изменением данных. Очень много примеров с одной или двумя кнопками, нажимаешь их и значение увеличивается или уменьшается. И негде нет более сложного. Например нажатие на 5 или 6 кнопок (если мы например ждём нажатия определенных 2 кнопок). Нет таких примеров. Надеюсь ты когда дойдешь подробно все расскажешь.
    Ждём продолжения!!!

    • @NecoRuChannel
      @NecoRuChannel  3 года назад +3

      В том и есть прелесть Compose что можно логику прямо в виджете писать. Но лучше писать в отдельных функциях а функции уже передавать в виджеты

  • @karjicohd1m0nd
    @karjicohd1m0nd 2 года назад +2

    Насчет последовательности задания свойств компонента и правда , если паддинг поставить , после клипа, то картинка будет будет не круглой, а многоугольной формы

  • @The-Way-of-Life.
    @The-Way-of-Life. 2 года назад +1

    Просто спасибо!

  • @nars6526
    @nars6526 Месяц назад

    добрый вечер Сергей подскажите как пользоваться эмпти активити в данной версии андроид студио?

  • @Maxdub
    @Maxdub 3 года назад +1

    Спасибо!!!

  • @Aslan_Javasky
    @Aslan_Javasky 2 года назад +2

    Давайте делиться листингом кода по уроку в комментах) и для нас полезная практика, и автору канала продвижение:
    import android.os.Bundle
    import androidx.activity.ComponentActivity
    import androidx.activity.compose.setContent
    import androidx.compose.foundation.Image
    import androidx.compose.foundation.layout.*
    import androidx.compose.foundation.shape.CircleShape
    import androidx.compose.foundation.shape.RoundedCornerShape
    import androidx.compose.material.Card
    import androidx.compose.material.Text
    import androidx.compose.runtime.Composable
    import androidx.compose.ui.Alignment
    import androidx.compose.ui.Modifier
    import androidx.compose.ui.draw.clip
    import androidx.compose.ui.layout.ContentScale
    import androidx.compose.ui.res.painterResource
    import androidx.compose.ui.unit.dp
    class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
    Column {
    ListItem(name = "Harry Potter",profession ="Wizard" )
    ListItem(name = "Harry Potter",profession ="Wizard" )
    ListItem(name = "Harry Potter",profession ="Wizard" )
    ListItem(name = "Harry Potter",profession ="Wizard" )
    ListItem(name = "Harry Potter",profession ="Wizard" )
    ListItem(name = "Harry Potter",profession ="Wizard" )
    }
    }
    }
    }
    @Composable
    private fun ListItem(name:String,profession:String){
    Card (
    modifier= Modifier
    .fillMaxWidth()
    .padding(10.dp),
    shape = RoundedCornerShape(15.dp),
    elevation = 5.dp
    ){
    Box {
    Row(verticalAlignment = Alignment.CenterVertically) {
    Image(
    painter = painterResource(R.drawable.harrypotter),
    contentDescription ="image",
    contentScale = ContentScale.Crop,
    modifier = Modifier
    .padding(5.dp)
    .size(64.dp)
    .clip(CircleShape)
    )
    Column(
    modifier = Modifier.padding(start = 16.dp)
    ) {
    Text(text = name)
    Text(text = profession)
    }
    }
    }
    }
    }

  • @krepkovmeste
    @krepkovmeste 2 года назад

    пожалуй, из всех уроков, которые удаётся найти, у вас самые понятные...очень хотелось бы ещё посмотреть на более актуальную реализацию работы с gps...а ещё, будучи из веба, не очень понятно, почему вдруг сделали в jetpack compose padding отступами снаружи, а не внутри, или я чего-то не понял...

  • @ilatough2314
    @ilatough2314 Год назад

    Что-то очень тяжко идет компоуз...
    Не думал, что завязну не на короутинах или каком-нибудь DI, а на UI части.

  • @diatm1506
    @diatm1506 11 месяцев назад

    Спасибо очень подробно объяснение. Elevation больше похоже на box shadow. Теперь буду думать, как уже существующий на tilewind css мобильный дизайн перенести) Я как понял можно перенести повторяющиеся padding, margin и color в XML в папку values? И получить что то типа less, sass) А можно из интернета путь на картинку указать или она не загрузится?

  • @МаргаритаНовикова-л3р

    Момент небольшой, elevation = 5.dp работает только с material, в material3 как-то иначе нужно писать.

    • @dedshalfey7856
      @dedshalfey7856 Год назад +2

      elevation = CardDefaults.cardElevation(defaultElevation = 5.dp)

  • @Arhmed13
    @Arhmed13 Год назад +2

    Всем привет,
    почему постоянно выдаёт ошибку вот в этом месте
    Type mismatch: inferred type is Dp but CardElevation was expected
    elevation = 5.dp
    когда поменял на это то вроде заработало
    elevation = CardDefaults.cardElevation(
    defaultElevation = 5.dp
    )
    но правильно ли это?

  • @youpartnerwsp2278
    @youpartnerwsp2278 Год назад

    У меня Box почему то не занимает всю ширину, а занимает как Row до крайней буквы

  • @dedpihto680
    @dedpihto680 8 месяцев назад +1

    видимо в новых версиях контейнер Box() по умолчанию не растягивается на всю ширину. чтобы увидеть его цвет добавил ему fillmaxwidth. изза этого различия когда вы укажете в box выравнивание элементов по центру то ничего не изменится. и возникает вопрос для чего здесь этот Box? наверное можно было все это указать и модификаторах Card

    • @NecoRuChannel
      @NecoRuChannel  8 месяцев назад

      Box не может не растягиваться так как это один из разновидностей контейнера и все они растягиваются, где то у вас ошибка. Это уроки для начинающих и Box тут только чтобы показать его использование, конечно можно просто Card использовать в реальном проекте, но это уроки по это у моя задача просто показать как что работает

    • @dedpihto680
      @dedpihto680 8 месяцев назад

      @@NecoRuChannel ну еще раз проверил. поставил цвет бэкграунда именно бокса красный. запустил. получил список карточек в которых красный фон имеет картинка и текст. конечно можно было бы скрины всего этого делать потом куда то выложить и тд. но лучше некст урок поделаю

  • @ОлегЛемко-ъ5ю
    @ОлегЛемко-ъ5ю Год назад +1

    Не уловил момент, когда Card() перестал быть на весь экран

    • @ЕвгенийБуранчиков
      @ЕвгенийБуранчиков Год назад

      там перескочило видео вроде. FillMaxSize превратился в FillMaxWidth. Высота стала равна высоте контента.

  • @nikitazhemanov
    @nikitazhemanov Год назад +1

    Хотелось бы понять, а какая роль у Box'a если у нас и так все находится в строке? Если его убрать ничего не меняется...
    Так же можно убрать и Card, если не нужны тени и закругления?

    • @NecoRuChannel
      @NecoRuChannel  Год назад +1

      Все верно, но это же урок и я показываю какие элементы есть и как они работают, тут не смысл в том что в данном примере без Box или без Card нельзя создать такую разметку, смысл для меня это показать все эти элементы и рассказать о них. Я рассказал на минуте 5:00 про Box как он работает, а ты уже зная все эти элементы создаешь разметку используя только те что тебе нужны для твоих целей.

  • @luide2167
    @luide2167 Год назад

    Привет.Спасибо за отличный урок. У меня вопрос. Почему то Box у меня не становится во всю ширину, а только wrap_content. Хотя код один в один. Что бы было с цветами, сё как у Сергея то мне нужно fillMaxWidth() для Box, а Сергею не нужно. Странно

    • @hamaalahama4192
      @hamaalahama4192 9 месяцев назад

      За 2 года видимо обнов наделали ,тоже задался таким вопросом

  • @МашаАгвес
    @МашаАгвес Год назад

    Как можно сделать, что бы везде были разные фотографии?

  • @Алексей-о9б4г
    @Алексей-о9б4г 3 года назад +9

    А будет ли продолжение темы "Сколько можно заработать на простом приложении"? По-моему никакие итоги не были подведены по данной теме. И, если будут, то когда?

    • @NecoRuChannel
      @NecoRuChannel  3 года назад +10

      Привет, конечно будет, просто занят ьыл а там нужно собрать подходящие списки со словами все подготовить и.т.д Сегодня буду все подготавливать, если до вечера не успею записать видео то завтра с утра. Тема еще не закончена, нужно доделать приложение опубликовать и показать доход, а после уже поговорим о том что да как

    • @Алексей-о9б4г
      @Алексей-о9б4г 3 года назад +1

      @@NecoRuChannel понял! Спасибо! Буду ждать видео.

    • @letscheckoutthegames344
      @letscheckoutthegames344 3 года назад +1

      Правда Алексей Думаю что Сергей сделает продолжению

    • @letscheckoutthegames344
      @letscheckoutthegames344 3 года назад

      @@NecoRuChannel Ti molodets .Brat super klass.

  • @ИгорьФруткин
    @ИгорьФруткин 2 года назад

    спасибо

  • @RomanBass-v1h
    @RomanBass-v1h 2 года назад +1

    Здравствуйте. Подскажите, почему названия @Composable функций с большой буквы? Разве с большой буквы не названия классов? Спасибо.

    • @NecoRuChannel
      @NecoRuChannel  2 года назад +1

      В compose свои правила, названия функций Composable пишутся с большой

  • @MsArtem2121
    @MsArtem2121 7 месяцев назад

    Спасибо за урок! Подскажите, почему для элемента Box не работает modifier = Modifier.background(Color.Green) ? Версия Android studio 2024.1.1

    • @MsArtem2121
      @MsArtem2121 7 месяцев назад

      Помогло такое решение: добавить .fillMaxWidth(), т.е. вот так сработало: modifier = Modifier.fillMaxWidth().background(Color.Green)

  • @al_fm94
    @al_fm94 Год назад +1

    Добрый день.
    Не работает параметр elevation = 5.dp в
    Card (
    modifier = Modifier
    .fillMaxWidth() // По всей ширине экрана
    .padding(10.dp) // отступ
    .background(Color.Red), // Цвет фона
    shape = RoundedCornerShape(15.dp), // закргуление карточки
    elevation = 5.dp
    )
    просит создать функцию Card

    • @NecoRuChannel
      @NecoRuChannel  Год назад

      Привет, ответ в закрепленном комментарии

    • @al_fm94
      @al_fm94 Год назад +1

      @@NecoRuChannel спасибо!

  • @ДаниилЪ-б2з
    @ДаниилЪ-б2з 3 года назад

    А как будет работать библиотека Subsampling Scale Image View в рамках Compose?

  • @АндрейАндреев-г1я2д

    Здравствуйте. Застрял на elevation = 5.dp, 5.dp подчеркивает красным. Не могу понять в чем проблема.

    • @NecoRuChannel
      @NecoRuChannel  Год назад

      а ты запятую поставил? Что именно подчеркнуто крассным?

    • @АртемБуняев-э6к
      @АртемБуняев-э6к Год назад

      @@NecoRuChannel У меня также. на elevation = 5.dp после 5 стоит точка, но подчеркивается красным и предлагает создать функцию Card

    • @НиколайТабашин
      @НиколайТабашин Год назад +1

      @@АртемБуняев-э6к elevation = CardDefaults.cardElevation(5.dp)

    • @Dont_Look_Away_tv
      @Dont_Look_Away_tv Год назад

      @@НиколайТабашин Можно узнать где нашли такое решение ?🤔

  • @Deltakanal33
    @Deltakanal33 Год назад

    На 16:15 Почему вложенный Box занимает всю Card?
    Разве он не должен занять только то пространство, которое занимают дочерние элементы?
    Попробовал покопать в этом направлении.
    Например, если сделать composable-fun
    Box(Modifier.fillMaxSize()){
    Box(Modifier.background(color = Color.Red)){
    Text("ALOHA")
    }
    }
    То в красный окрашивается только бекграунд текстовки, но судя по логике, что представлена в уроке покраситься в красный должен весь экран.
    Почему так?
    Выглядит как противоречие

    • @vicsham5221
      @vicsham5221 Год назад

      Я вложил в Box Modifier строку .fillMaxWidth() и получилось как у Сергея

  • @animal_jokes_ha_ha_ha
    @animal_jokes_ha_ha_ha 3 года назад +2

    А зачем нужен box? Почему сразу в row нельзя поместить?

    • @NecoRuChannel
      @NecoRuChannel  3 года назад +1

      Можно, просто в первой версии видео что бы показать что такое box так как на первых видео это не показал решил его использовать, в итоге видео перезаписал и сделал подругому где box не нужен но я все равно его добавил что бы просто использовать и показать как он работает.

  • @RristerAlline
    @RristerAlline Год назад +1

    Не могу разобраться что пишется после точки, что пишется в скобках и что после "равно". Например, почему не modifier.Modifier()fillMaxSize=contentAlignment, или что-то в этом роде.
    В Kotlin понятно = это присваивание, : это наследование, () это параметр, [точка] это дальше по дереву. А в @Composable не могу понять

    • @NecoRuChannel
      @NecoRuChannel  Год назад +1

      Удерживаешь ctrl и наводишь курсор на Modifire увидишь что это, если понимаешь что это в котлин то поймешь и тут. В compose есть аргументы которые передаешь в compose функцию так вот там пишешь название аргумента например modifire и передаешь туда Modifire указывая = прям как в data class в котлин с нужными настройками (грубо говаря)

    • @RristerAlline
      @RristerAlline Год назад +1

      @@NecoRuChannel Спасибо, не знал про "Удерживаешь ctrl и наводишь курсор на..." - удобно. Всегда делал Ctrl+click или наводил и задерживал курсор на названии

  • @aimtimtimtim
    @aimtimtimtim Год назад +1

    Не получается создать Image подчеркивает красным

    • @NecoRuChannel
      @NecoRuChannel  Год назад

      Возможно не то импортировано или вобще не импортировано. Когда добавляешь смотри чтоб было из пакета compose

  • @sergeyko3029
    @sergeyko3029 3 года назад +1

    Спасибо за выпуск)). Не пойму как поменять картинку, например по нажатию кнопки загрузить другую картинку...

    • @NecoRuChannel
      @NecoRuChannel  3 года назад +3

      До этого мы еще не дошли)) Покажу на следующих уроках

  • @youpartnerwsp2278
    @youpartnerwsp2278 Год назад +1

    С elevation выдаёт ошибку, без него всё работает. Скорее всего, опять какие то изменения в Android

    • @NecoRuChannel
      @NecoRuChannel  Год назад

      В Material 3 там немного по другому

    • @youpartnerwsp2278
      @youpartnerwsp2278 Год назад +1

      @@NecoRuChannel Разобрался, спасибо.

  • @ИльмирСулейманов-ч3с
    @ИльмирСулейманов-ч3с 3 года назад +1

    спасибо
    когда следующий видео)

    • @NecoRuChannel
      @NecoRuChannel  3 года назад +1

      Привет, сегодня к вечеру

  • @Peach_puppYy
    @Peach_puppYy 2 года назад +1

    Спасибо большое! Compose нравиться намного больше чем xml! можно ли учить только его или без xml никак?

    • @NecoRuChannel
      @NecoRuChannel  2 года назад

      Можно, но большинство готовых проектов подсказок и решений есть на xml а композ намного меньше. Плюс если на работу устроишься и тебе дадут проект на xml несможешь работать над ним

    • @Peach_puppYy
      @Peach_puppYy 2 года назад +1

      @@NecoRuChannel спасибо посмотрю этот курс и возьмусь дальше учить xml

  • @LinarOPS
    @LinarOPS Год назад +1

    Comment for rising

  • @8648132
    @8648132 2 года назад

    Не могу понять что делать. у меня Image красным цветом. bИ вообще много функций красным. Прихоидтся жать на них альт+ент и вручную выирать что это андроид, или компос

    • @kavelquu
      @kavelquu 2 года назад

      Ничего необычного. Если не хочешь импортировать вручную, то при написании имени, когда студия предлагает автодополнение, нажимай на таб (ну или выбирай мышкой, как тебе удобно), так оно импортирует автоматически. Собственно автор видео так и делает.
      Может для тебя это уже поздно, но другим наверное полезно будет

    • @8648132
      @8648132 2 года назад

      @@kavelquu да, стоило начать с серий про котлин)

  • @MobileMiron
    @MobileMiron Год назад

    Вопрос, почему название функции с большой буквы?

    • @NecoRuChannel
      @NecoRuChannel  Год назад +1

      Так решили разработчики различать Composable от простой функции

  • @fanshtorm1735
    @fanshtorm1735 10 месяцев назад +2

    В этом композе бардак какой-то. Одни параметры находятся в модифаере, остальные - просто насыпом в аргументах вьюхи. Где логика??

    • @exAlexey
      @exAlexey 4 месяца назад

      Вот вот. Поэтому я себе специально скачал Android Studio 2022 и пишу по нормальному когда код разделен с версткой + Java.

  • @АльфредАхметгалеев

    После того как написал: "painter =" перед Image(. painter красным выделил Studio и ошибка: "Named arguments are not allowed for non-Kotlin functions" "Cannot find a parameter with this name: painter" :(. Делаю в один в один по примеру. Как исправить можно ? Спасибо всем заранее.

    • @NecoRuChannel
      @NecoRuChannel  3 года назад

      Привет, покажи строчку как написал, и если один в один сделал то возможно не тот Image импортирован. Это можно посмотреть вверху там где import. Покажи что там у тебя

  • @anatoliyvechkutkin93
    @anatoliyvechkutkin93 2 года назад

    Может, я бегу впереди лошадей, но, случаем, конструктора нет для этого?

  • @primate472
    @primate472 3 года назад +1

    Я использую Column и всё элементы поочерёдно уменьшается

  • @bachateros934
    @bachateros934 3 года назад +1

    Господа, кто знает как в Android Studio 2021 выключить эмулятор? Эти гении убрали кнопку Stop из AVD Manager и крестик в окне эмулятора.

    • @NecoRuChannel
      @NecoRuChannel  3 года назад

      Привет, крестик есть но он вверху слева на окне эмулятора, возле названия эмулятора. Открываешь окно эмулятора там эмулятор а вверху этого окна слева есть как бы вкладка как в браузере и там крестик и название

    • @bachateros934
      @bachateros934 3 года назад +1

      @@NecoRuChannel Вон оно как😆. Спасибо большое!

    • @NecoRuChannel
      @NecoRuChannel  3 года назад +1

      @@bachateros934 Я и сам после обновления 2 часа искал))

  • @pie_company
    @pie_company 2 месяца назад

    поправлю про бест практику. никогда не делайте Column в Row как и наоборот свободной величины. растяните именно их на всего родителя и уже в нем выстраивайте поведение детей (Single responsibility)

    • @pie_company
      @pie_company 2 месяца назад

      наверно хотите пояснений почему. Лучшая практика делать большие блоки на маленькие при том чем проще блоки тем лучше. при свободной величине суммарная картинка блоков получается неправильной геометрии. при растяжении блоков-детей до родителя получаются аккуратные прямоугольники которые хорошо читабельны и предсказуемые

  • @Relax-4-Relax
    @Relax-4-Relax Год назад

  • @tnt_nolik1050
    @tnt_nolik1050 3 года назад +1

    и того box оказался бесполезным=_=

    • @NecoRuChannel
      @NecoRuChannel  3 года назад +1

      В данном случае да, я его использовал просто что бы показать что это такое, но его можно убрать из данного примера если нам все элементы не нужно отцентровать или куда то переместить.

  • @RristerAlline
    @RristerAlline Год назад +1

    Или вот:
    class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
    AnyText()
    }
    }
    }
    @Composable
    fun AnyText() {
    Text("my first text line", Color = Color.Unspecified)
    }
    Выдает в Problems: None of the following functions can be called with the arguments supplied
    Лезу в документацию, там в Text.kt:
    @Composable
    fun Text(
    ...
    color: Color = Color.Unspecified,
    ...)
    Почему ошибка? Заранее спасибо

    • @NecoRuChannel
      @NecoRuChannel  Год назад +1

      У тебя color с большой буквы написан Color = Color.Unspecified() нужно color =

    • @RristerAlline
      @RristerAlline Год назад

      @@NecoRuChannel Спасибо. 🙂С большой буквы