首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android MVVM框架搭建(一)ViewModel + LiveData + DataBinding

    ViewModel:关联层,将Model和View进行绑定,只做和业务逻辑相关的工作,不涉及任何和UI相关的操作,不持有控件引用,不更新UI。...View只做和UI相关的工作,不涉及任何业务逻辑,不涉及操作数据,不处理数据。UI和数据严格的分开。...然后我们的数据是需要显示在页面上的,而之前是通过Activity获取xml中的控件,然后显示数据在控件上,而现在有了DataBinding,可以直接和xml的中数据进行绑定,这看起来和JS比较像。...然后再通过生成的ActivityMainBinding去设置要显示在xml中控件的值。因此你会看到我完全没有去findViewById,然后控件再去设置这个setText。...第二个就是响应的地方,通过这种方式去显示ViewModel中对象的变量数据在控件上。这里我把这两个TextView放到输入框的上方 第三个地方,也是双向绑定的意义,就是UI改变数据源。

    17K97

    Android MVVM框架搭建(一)ViewModel + LiveData + DataBinding

    ViewModel:关联层,将Model和View进行绑定,只做和业务逻辑相关的工作,不涉及任何和UI相关的操作,不持有控件引用,不更新UI。...View只做和UI相关的工作,不涉及任何业务逻辑,不涉及操作数据,不处理数据。UI和数据严格的分开。...然后我们的数据是需要显示在页面上的,而之前是通过Activity获取xml中的控件,然后显示数据在控件上,而现在有了DataBinding,可以直接和xml的中数据进行绑定,这看起来和JS比较像。...然后再通过生成的ActivityMainBinding去设置要显示在xml中控件的值。因此你会看到我完全没有去findViewById,然后控件再去设置这个setText。...第二个就是响应的地方,通过这种方式去显示ViewModel中对象的变量数据在控件上。这里我把这两个TextView放到输入框的上方 第三个地方,也是双向绑定的意义,就是UI改变数据源。

    2.7K32

    安卓软件开发:Jetpack Compose 和 Material 3 实现高级登录页面(Kotlin)

    一、项目背景 Material 3 是 Google 的最新 UI 框架,以声明式 UI 构建方式取代了传统的 XML 布局,很大提升了编程效率,减少了许多繁琐的代码。...androidx.compose.ui", name = "ui-test-junit4" } androidx-material3 = { group = "androidx.compose.material3...2.4.1 @Preview 的基本用法 @Preview 注解一般用在 @Composable 函数上方,用于标记函数的 UI 布局可以在 Android Studio 的预览窗口中显示。...androidx.compose.material3.TextField import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf...Material 3 组件和Compose 的结合:Material 3 提供了很多现代化的 UI 组件,像 Scaffold、TopAppBar 各等,上手体验非常好,让 UI 更美观一致。

    771183

    Android 低功耗蓝牙开发 (扫描过滤、自定义服务与特性)Kotlin版

    代码如下图所示: 这里当拖动Seekbar时,改变TextView显示的内容,当拖动结束时保存进度值到缓存中,然后处理弹窗这个窗时的页面显示状态,我这里通过getInt(RSSI,100)去获取本地的缓存...例如我上次滑动到50,然后我关闭了弹窗,当我再次打开弹窗时应该也是要显示50的,那么对于本地缓存ui的控制效果演示图如下图所示: 下面就可以对扫描到的设备进行操作了,因为扫描过滤的设置已经没有问题了...> material.textfield.TextInputLayout android:layout_width="match_parent...> material.textfield.TextInputLayout android:layout_width="match_parent...> material.textfield.TextInputLayout android:layout_width="match_parent

    1.2K10

    Android 低功耗蓝牙开发 (扫描过滤、自定义服务与特性)Kotlin版

    代码如下图所示: 这里当拖动Seekbar时,改变TextView显示的内容,当拖动结束时保存进度值到缓存中,然后处理弹窗这个窗时的页面显示状态,我这里通过getInt(RSSI,100)去获取本地的缓存...例如我上次滑动到50,然后我关闭了弹窗,当我再次打开弹窗时应该也是要显示50的,那么对于本地缓存ui的控制效果演示图如下图所示: 下面就可以对扫描到的设备进行操作了,因为扫描过滤的设置已经没有问题了...> material.textfield.TextInputLayout android:layout_width="match_parent...> material.textfield.TextInputLayout android:layout_width="match_parent...> material.textfield.TextInputLayout android:layout_width="match_parent

    1.3K30

    使用 Flutter 制作地图应用

    2.0.0 proj4dart: ^1.0.4 meta: ^1.1.0 collection: ^1.14.0 现在让我们开始构建我们的应用程序 import 'package:flutter/material.dart...这是来自Material官方网站的的图片 TextField是由7个控件组成,其中有些控件默认不显示,我们可以对各个控件单独设置想要的样式来满足不同的UI展示需求。...10个字符", ),) maxLength可以设置最长字符个数,如果超过这个限制再次输入不会有显示,并且在TextField在有右下角有当前字符个数的标记,此处是10/10。...,TextField被点击之后会显示为被选中状态,suffix默认不显示,只有当选中TextField的时候才会显示出来。...如果我们需要在onEditingComplete方法中获取到当前的输入值。

    2.7K00

    《Flutter》-- 4.Flutter组件基础

    Flutter中Widget不仅可以表示UI元素,也可以布局元素、动画、装饰效果。 Widget不是最终显示在设备屏幕上的显示元素,而是一个描述显示元素的配置数据。...Flutter中真正代表屏幕显示元素的类是Element。 在大多数场景下,可以宽泛地认为Widget树就是指UI组件树或UI渲染树。...对于无状态组件的内部属性,为了防止内部成员变量的值被改变,需要使用final修饰符进行修饰。 创建无状态的组件,需要继承StatelessWidget,并重写build()。...7)backgroundColor:导航栏的颜色,默认值为ThemeData.primarycolor(主题颜色)。 8)brightness:导航栏材质的亮度。...decoration:用于控制TextField组件的外观显示,如提示文本、背景颜色和边框。 textAlign:输入框内文本在水平方向的对齐方式。 textDirection:输入框内文本的方向。

    12.5K30
    领券