首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android Compose 新闻App(七)网络图片加载、Tab、HorizontalPager

那么下一个就是创建ViewModel,与HomeItem相对应的就是HomeViewModel。...通常我们Activity和ViewModel是绑定,之前我们在HomeActivity中创建了一个MainViewModel,然后我们在HomeActivity中再加一个HomeViewModel,代码如下...: val homeViewModel: HomeViewModel = viewModel() 同样我们需要在导航到HomePage中时增加导航控制器和homeViewModel,如下图所示:...AsyncImage,而不是Image,在这个控件里面增加图片的加载地址,然后修改一下图片的宽高和占满边界,注意一下上面这段代码添加的位置,如下图所示: 下面我们运行一下: 三、BottomBar...可以看到这里的BottomBar遮挡住客了这个列表的最后一项,那么怎么解决这个问题呢?其实很简单,一行代码解决问题。

2.1K40

Android之Fragment

什么是Fragment   自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片、片段。其目的是为了解决不同屏幕分辩率的动态和灵活UI设计。...当一个片段指定了自身的布局时,它能和其他片段配置成不同的组合,在活动中为不同的屏幕尺寸修改布局配置(小屏幕可能每次显示一个片段,而大屏幕则可以显示两个或更多)。   ...这对于让你的界面在不同的屏幕尺寸下都能给用户完美的体验尤其重要。 Fragment优点 Fragment可以使你能够将activity分离成多个可重用的组件,每个都有它自己的生命周期和UI。...Fragment 替代TabActivity做导航,性能更好。 Fragment 在4.2.版本中新增嵌套fragment使用方法,能够生成更好的界面效果。...Fragment对象不再使用时,要反向回调的方法: 1.

67420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    学界 | 英特尔&丰田联合开源城市驾驶模拟器CARLA

    除了开源代码和协议,CARLA 还提供了为自动驾驶创建的开源数字资源(包括城市布局、建筑以及车辆),这些资源都是可以免费获取和使用的。这个模拟平台能够支持传感套件和环境条件的灵活配置。...需要注意的是,我们在四个任务上对这三种方法的测试使用的是同一个智能体,并没有为某个场景而单独地去微调一个模型。任务被设置为目标导向的导航:智能体被初始化在城市的某个地方,然后它必须到达指定的目的点。...具有运动障碍物的导航:与上一个的任务一样,但是有运动的障碍物(包括车辆和行人)。 ? 表 1:三种自动驾驶系统在目标导向导航任务中的量化测评。...要注意,测试中和训练过程中使用的起点和目标点是不一样的:只有通用的环境和条件是一样的。其他三种实验条件均设置在具有挑战性的泛化中:之前从未见过的城市 2 以及从未见过的训练天气集。...总之,即便是在直线行驶的任务中,三种方法都不是完美的,成功率随着任务难度的增加急剧下降。泛化到新的天气要比泛化到新的城市更加容易。模块化流水线法和模拟学习的方法在大多数任务中的性能都平分秋色。

    81150

    QQ频道(内测版)整体使用简谈

    因为我没有申请 QQ 频道的创建权限(懒得申,也没啥用),所以我简单从用户角度上来分析分析 QQ 频道的一些利弊,具体的管理功能应该和某软件是差不多的。...我使用的 QQ 版本 Android QQ: 8.8.38(2266) PC QQ: 9.5.2.27899 QQ 频道入口位置 Android QQ: 频道按钮放到了 BottomBar 的位置,现在看起来好像没什么问题...并且对于开启了 QQ 看点的用户来讲,加上QQ 频道会使 BottomBar 显示整整五个按钮,总归是有些拥挤的。...主要功能 其实大部分地方都和某软件是一样的,所以那些部分我就不多说了,我只讲讲相比起来不同的一些地方 不支持消息修改,但支持消息撤回(包括撤回自己的消息和管理员撤回他人的消息) 与某软件不同的是,这里是允许无限制的使用...最后就是:希望能支持 Markdown 和 WebHook 机器人(要抄就抄全) (完)

    3.7K40

    compose--初入compose、资源获取、标准控件与布局

    至于声明式UI和命令式UI的区别,相信你会在后续实际使用时有很大的感触 一、认识compose 通过官方文档我们可以了解到compose的编程思想。...compose进行重组 二、创建compose项目 推荐使用最新的android studio,低版本并不支持compose,也可以查看官方文档-快速入门:https://developer.android.google.cn.../jetpack/compose/setup 1.创建项目 我这边尝鲜使用MD3风格的项目,实际开发中google也推荐:UI设计从MD2转变为MD3 2.BOM 对于compose的版本管理,官方推荐使用...必传入参为图片资源对象painter和内容描述contentDescription ,contentDescription主要是为了残疾人使用的,国外对于残疾人使用也非常的重视,此外使用python自动化测试也可以通过...和topBar对应,bottomBar是用来存放底部子组件的槽位,如:BottomAppBar、BottomNavigation: @OptIn(ExperimentalMaterial3Api::class

    6.5K30

    android Compose中沉浸式设计和导航栏的处理

    简单写一篇文章捕获一下焦点 Material Design风格的顶部和底部导航栏 Compose中Material Design风格的设计我们的做法如下: 1、使用Scafoold作为页面的顶级,Scafoold...中承载topbar和bottombar分别作为顶部导航栏和底部导航栏。...2、调用WindowCompat.setDecorFitsSystemWindows(window, false)方法让我们的布局超出状态栏和底部导航栏的位置 3、使用ProvideWindowInsets...包裹布局,使我们可以获取到状态栏和底部导航栏的高度(不包裹无法获取状态栏和底部导航栏高度) 4、手动处理顶部和底部导航栏让页面适应屏幕 界面设计 TopBar设计 实现方式 因为使用WindowCompat.setDecorFitsSystemWindows...设计 实现方式 因为使用ProvideWindowInsets包裹后底部导航栏顶到了底部,所以需要填充一个底部导航栏高度的Spacer。

    3.2K20

    Android Compose 新闻App(六)导航动画、WebView、浮动按钮、底部导航

    Android Compose 新闻App(六)导航动画、WebView、浮动按钮、底部导航 前言 正文 一、导航动画 ① 添加依赖 ② 使用 二、WebView使用 ① 导航传递URL参数 ② 配置WebView...三、FloatingActionButton使用 ① 修改默认显示位置 四、App主页面构建 ① 密封类 ② 构建底部导航Item ③ 装载底部导航Item ④ 显示导航 五、源码 前言   在上篇文章中完成了页面的导航...正文   一些应用有一些花里花哨的操作就会让人眼前一亮,大部分花里胡哨的操作就是动画,那么作为Compose的导航也是可以使用动画的,下面我们来使用一下: 一、导航动画 ① 添加依赖   导航动画是需要一个依赖库的...② 使用 使用之前我们先来看一下要更改的地方,如下图所示: 图中是上一篇文章中所写的代码,如果要使导航有动画效果,则需要换一下。...,然后设置AnimatedNavHost,这和前面的内容相似。

    4.9K20

    Ext JS 教程-类系统 原

    使用不同的方式,不同的编码形式和技术,都可以让工作有效。然而就是那个特性,带来了不可预知的代价。没有一个统一的形式,JavaScript代码可能很难去理解、维护和重用。...不要使用下划线、连字符,或者任何其它非字母和数字的字符。 方法和变量名字应该一直使用camel形式(第一个单词首字母小写,接下来的单词首字母都大写)。这也同样适用于首字母缩略词。...声明 1.1)老方法 如果你使用过任何ExtJS的老版本,你一定熟悉使用 Ext.extend 去创建一个类: var MyWindow...然而不像其它方式的继承,我们没有流畅的创建类的其它方面的API,比如配置,静态性和混合。我们很快将会重新详细的了解这些东西。... 每一个配置属性的获取和设置方法将在类创建期间自动生成到类的原型中,如果这些方法还没有被定义。 一个apply方法也为每一个配置属性生成了。

    1.3K20

    如何使用 CSS 设置和自定义水平和垂直滚动条

    在本节中,我们将按照以下步骤创建一个可滚动的侧边栏导航:a)创建带有导航项目的导航栏b)将导航栏样式设置为侧边栏c)将侧边栏位置设置为固定d)使用滚动条管理项目的溢出a)....创建带有导航项目的导航栏为了创建导航栏,我们将使用HTML nav元素。...我们的导航栏将包含以下项目:主页商店市场产品卖家制造商分销商连锁经理银行我们在这一步的目标是创建一个如下截图所示的导航栏:导航栏可以使用下面的代码片段创建上述项目的初始导航栏: a{...将导航栏样式设置为侧边栏。创建水平导航栏后,我们可以在设置垂直滚动条之前将其样式设置为垂直侧边栏。...下面的截图显示了我们即将创建的侧边栏:侧边栏要创建上面的侧边栏,我们将在CSS中进行以下更改:将导航栏的显示更改为flex,并将方向设置为column为侧边栏设置背景颜色为导航链接添加底部边框增加导航链接的字体大小和字体粗细为侧边栏设置固定宽度增加

    2.1K00
    领券