Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by import android.view.Group
STM32蓝牙连接Android实现云端数据通信(电机控制-开源)_stm32cubeide蓝牙控制电机转动-CSDN博客
引言 基于 STM32F103C8T6 最小系统板完成电机控制。这个小项目采用 HAL 库方法实现,通过 CubeMAX 配置相关引脚,步进电机使用 28BYJ-48 (四相五线式步进电机),程序通过蓝牙连接手机 APP 端进行数据收发, OLED 显示当前步进电机角度,并且手机收到数据的同时返回云端保存,记录下当前电机角度。 对于 28BYJ-48 步进电机,其工作原理基于电磁感应。当定子的某一相绕组通电时,会产生磁场,吸引转子转动。通过按照一定的顺序依次给各相绕组通电,就可以使转子按照预定的方向逐步转动。常见的通电方式有单四拍、双四拍和八拍等。 芯片对应引脚信息如下:(我这里使用的是 普中-精灵1 开发板) 1.
Android第四次面试总结(基础算法篇)-CSDN博客
一、反转链表 // 定义链表节点类 class ListNode { // 节点存储的值 int val; // 指向下一个节点的引用 ListNode next; // 构造函数,用于初始化节点的值 ListNode(int x) { val = x; } } class Solution { // 反转链表的方法 public ListNode reverseList(ListNode head) { // 初始化前一个节点为 null ListNode prev = null; // 初始化当前节点为头节点 ListNode current = head; // 遍历链表,直到当前节点为 null while (current != null) { // 保存当前节点的下一个节点 ListNode nextNode = current.next; // 反转当前节点的指针,指向前一个节点 current.next = prev; // 更新前一个节点为当前节点 prev = current; // 更新当前节点为下一个节点 current = nextNode; } //...
Android ListView鼠标模式下ListView回滚问题
在 Android 应用程序中,ListView 是一种常用的控件,用于显示可滚动列表数据。然而,当在鼠标操作模式下使用 ListView 时,可能会遇到一个问题:点击列表项时,列表会回滚到指定位置,这可能会导致用户体验不佳。 通过测试发现, 回滚的位置与列表的选中项位置有关系. 在启动activity后, 不执行其他操作时, 通过滚轮直接滚动到列表最下方, 再点击按键, 调用了adapter.notifyDataSetChanged 列表回滚; dumpsys dumpsys activity com.android.tester/.cases.ListViewBackground 出现回滚时 View Hierarchy: DecorView@4ef06ab[ListViewBackground] com.android.internal.widget.ActionBarOverlayLayout{1102108 V.E...... ........
安卓:TabLayout+ViewPager2+Fragment使用(java)_tablayout viewpager2 fragment-CSDN博客
目录 1. TabLayout用于左右滑动的标签:如下例图,左图推荐标签向左滑动后切换到母婴标签的内容 2. ViewPager2和Fragment实现每个标签对应的内容,每个fragment相当于一个标签和标签页。如推荐标签里的各种物品售卖的页面。 viewpager2 内部使用recycleview加LinearLayoutManager实现竖直滚动。而Fragment是为了解决Android APP运行的设备大小不一而提出来的,我们可以把Fragment当成Activity界面的一个组成部分,一个Activity中可以包含很多Fragment。 Fragment拥有自己的生命周期,可接收、处理用户的事件。 Activity中可以动态的添加、替换和移除某个Fragment 二、实现例图(仅添加推荐、百货、食品三个标签并且仅实现推荐标签页) 1. 创建ShopActivity 2.
【翻译】Processing系列|(四)用 Android Studio 从 0 到 1 进行 Processing 安卓开发
原文链接:Processing for Android Developing with Android Studio 朋友跟我说官方教程里也写了该怎么用 Android Studio 开发,并且亲测可行。这种方式确实能开发出结构更加清晰、额外组件更加少的程序,比上一篇文章中直接克隆 Processing-Android 仓库要更合适,不过上一篇文章那种方法更加快捷。 导读: 上上上篇:【翻译】Processing系列|(一)简介及使用方法 上上篇:【翻译】Processing系列|(二)安卓模式的安装使用及打包发布 上一篇:【翻译】 Processing系列|(三)安卓项目构建 使用 Android Studio 和 Processing 的核心库进行高级 Android 开发。 一般步骤 安卓工作室是 Google 推荐用于 Android 开发的工具。如果你已经有了如何使用 Android Studio(独立于 Processing)开发 Android 应用程序的经验,并且希望在 Android Studio 项目中使用 Processing...
Android Studio制作微信界面(一)
Android Studio制作微信界面(一) 实现微信底部导航栏功能: 根据用户选择的选项切换不同的Fragment显示在FrameLayout中。每个选项对应一个Fragment,包括聊天界面、通讯录界面、发现界面和主页界面,并在界面中显示“这里是微信”,“这里是通讯录”等字样,底部按钮颜色,图片随之替换绿色。 效果图如下: Fragment介绍 Android从3.0开始引入Fragment(碎片),允许将Activity拆分成多个完全独立封装的可重用的组件,每个组件拥有自己的生命周期和UI布局,为不同型号、尺寸、分辨率的设备提供统一的UI设计方案.
creator-webview与Android交互_webview creator通信-CSDN博客
creator-webview与Android交互 前篇 Android:你要的WebView与 JS 交互方式 都在这里了 - https://cloud.tencent.com/developer/article/1394361 java 调用 js 使用 WebView.evaluateJavascript 执行 js 代码 String callStr = String.format("window['java2js'](`%s`, `%s`)", funcName, jsonMsg); WebViewIns.evaluateJavascript(callStr, null); 如果要透传数据结构或 json, 最好用 base64 加密一下, 然后在 js 中再解密出来, 以保证这些数据不会破会 js 代码的结构 一般跨语言的交互中, 我都会使用 base64 去加密数据使之变成正常的字符串 js 调用 java 使用 WebView.addJavascriptInterface(Object, String); 映射对象和方法到 js 中一个变量, 例如:...
【Android 性能优化:内存篇】--ExoPlayer 释放后内存没有恢复问题探索
背景 最近笔者承接项目的内存优化指标,在内存调研的过程中发现项目中视频播放结束后,内存没有恢复到播放前到水平。项目中用的 EXO 版本为2.19.1,并且笔者自己也写了个简单的 Demo,发现也是如此。虽然有一些偏门方法可以优化,但是暂时还是未能正面突破,各位看官,如果有什么idea,欢迎留言多多指教~ 分析 笔者的 Demo 如下 api 'com.google.android.exoplayer:exoplayer:2.19.1' package com.mikel.projectdemo.uiframework; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import...
【Android基础UI学习之用户界面设计基础】-CSDN博客
系列文章目录 Android前端UI 前言 Android基础学习一是笔者作为一个小白初次接触android 项目所进行的基础学习和认知,该文章作为笔者的学习笔记。 提示:以下是本篇文章正文内容,下面案例可供参考 一、创建Android项目学习 1.project和module的概念: 1.project:一个Project == 一个项目 2.module:一个project包含多个module,一个module代表一个安卓应用程序 二、前端UI知识点总结 1.控制UI界面的方法 1.1使用xml来控制UI界面 在Android应用的res/layout目录下编写XML布局文件,不能以数字开头命名。 在Activity中使用java代码显示XML文件布局的内容 setContentView(R.layout.activity_main)其中acticity_main为activity名 1.2在JAVA代码中控制UI界面 所有的UI组件都可以通过new关键字创建出来,再添加到布局管理器中从而实现用户界面。 编写布局代码分为三个步骤 1.创建布局管理器 public class...
学习Android的第三天-CSDN博客
目录 XML 属性 Android LinearLayout 线性布局 LinearLayout(线性布局)是Android中常用的布局之一,它按照水平或垂直方向排列其子视图。LinearLayout可以设置为水平(horizontal)或垂直(vertical)布局。子视图会按照它们在布局中的顺序依次排列。 当LinearLayout的子视图在水平方向排列时,它们会水平摆放,而在垂直方向排列时,它们会垂直摆放。默认情况下,LinearLayout的子视图是从左到右水平排列或从上到下垂直排列。 在使用LinearLayout时,如果视图的内容超过了屏幕的宽度(对于水平布局)或高度(对于垂直布局),则超出部分将被截断,不会自动换行。 LinearLayout 几个重要的 XML 属性 xml 属性说明 android:id 为组件设置一个资源id,使得在Java代码中可以通过findViewById(id)找到该组件。这个id通常用于在运行时引用布局中的特定组件。 例如: android:id="@+id/myButton" android:background...
Android 无限循环RecyclerView的完美实现方案
Android 无限循环RecyclerView的完美实现方案 方案1 对Adapter进行修改 网上大部分博客的解决方案都是这种方案,对Adapter做修改。具体如下 首先,让 Adapter 的 getItemCount() 方法返回 Integer.MAX_VALUE,使得position数据达到很大很大; 其次,在 onBindViewHolder() 方法里对position参数取余运算,拿到position对应的真实数据索引,然后对itemView绑定数据 最后,在初始化RecyclerView的时候,让其滑动到指定位置,如 Integer.MAX_VALUE/2,这样就不会滑动到边界了,如果用户一根筋,真的滑动到了边界位置,再加一个判断,如果当前索引是0,就重新动态调整到初始位置 这个方案是挺简单,但并不完美。一是对我们的数据和索引做了计算操作,二是如果滑动到边界,再动态调整到中间,会有一个不明显的卡顿操作,使得滑动不是很顺畅。所以,直接看方案二。 方案2 自定义LayoutManager,修改RecyclerView的布局方式...
3.6 改写ArrayAdapter | LayoutInflater
活动页面的主布局和适配器的自定义行视图均与3.5节的任务相同,并在3.5节基础上增加了更多的逻辑处理。本任务所增加的逻辑处理:当某城市无电话号码时,对应行视图则无电话图标;点击列表项,Toast显示城市名称;点击电话图标,Toast显示电话号码。为了使得ListView能滚动,城市数据多于一屏幕能显示的数据数目(数据可重复) my_main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content"...
PopupWindow-阿里云开发者社区
概述 官方API A popup window that can be used to display an arbitrary view. The popup window is a floating container that appears on top of the current activity.
干货一:通过自定义PopupWindow实现QQ菜单选项功能-阿里云开发者社区
概述 我们在使用手机QQ时,点击菜单键,会弹出如本案例说演示的效果图似的菜单选项。 实现方式有很多种,在这里我们来演示下如何通过自定义PopupWindow的方式一步一步的实现如上效果。 关于PopupWindow的基本知识点请查看 PopupWindow 分析 shape的使用-corners solid等 中间的使用View分割 背景的处理 …… 响应点击事件–通过接口回调的方式 点击外部,PopupWindow可消失 …… 实现 UI编写 位于父布局的底部 距边框有一定的距离,根布局使用layout_margin即可 ListView(四个圆角+白色背景) + View分割(透明色) +底部文字(圆角+白色背景) 蓝色字体 居中显示(ListView中的 在Item设置即可,底部文字设置gravity即可) …….
Fragment初识-阿里云开发者社区
概述 官方API Android 在 Android 3.0(API 11 级)中引入了Fragment,主要是为了给大屏幕(如平板电脑)上更加动态和灵活的 UI 设计提供支持。由于平板电脑的屏幕比手机屏幕大得多,因此可用于组合和交换 UI 组件的空间更大。利用片段实现此类设计时,您无需管理对视图层次结构的复杂更改。 通过将 Activity 布局分成片段,您可以在运行时修改 Activity 的外观,并在由 Activity 管理的返回栈中保留这些更改。 当然了我们普通手机开发也会加入这个Fragment, 我们可以把它看成一个小型的Activity,又称Activity片段! 例如:新闻应用可以使用一个片段在左侧显示文章列表,使用另一个片段在右侧显示文章—两个片段并排显示在一个 Activity 中,每个片段都具有自己的一套生命周期回调方法,并各自处理自己的用户输入事件。 因此,用户不需要使用一个 Activity 来选择文章,然后使用另一个 Activity 来阅读文章,而是可以在同一个 Activity 内选择文章并进行阅读,如下图中的左侧平板电脑布局所示。...
TabLayout+ViewPager实现Android底部滑动(附实现Demo)_51CTO博客_android实现页面滑动
TabLayout+ViewPager实现Android底部滑动 项目介绍 软件架构 代码实现介绍 项目介绍 通过Tablayout+ViewPager实现底部滑动的tab,让你快速脱坑 源码地址:https://gitee.com/maxiaodong1996/Tablayout_viewPager_Demo.git 软件架构 软件架构说明 代码实现介绍 我们首先要添加design的jar支持选择添加,和复制粘贴添加 复制粘贴添加 在app下的build.gradle中的dependencies中添加 版本号需要和你的下面这个一致 implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support:design:26.1.0' 下面介绍的是从工具中手动操作视图添加流程 不过上面的我既然告诉你了那就是很简单的 下面的流程也是为了 上面那句话使用工具添加 1、在app上右键 2、选择 3、点击 4、选择加号选择弹出框中的第一个 5、选择 6、检查选择正确点击OK...
一个Adapter+recycleview实现多种布局,区分布局中-阿里云开发者社区
开发者社区 大数据 文章 正文 2023-10-09 5 简介: 最近因为需要所以学习了一下recycleview,使用Adapter修饰器修饰,使用一个Adapter+recycleview实现多种布局,而不是之前的三个Adapter在同一个recycleview中实现三个布局。点击区分布局中的gridview的图片和姓名。 文章目录 🍓🍓简述 🍓🍓效果图 🍓🍓代码 🥭🥭AllAdapter.java 🥭🥭 FuritAdapter3.java 🥭🥭MainActivity.java(主函数) 🥭🥭FuritBean.java(对象的属性) 🥭🥭msgcode.java(一些常量抽取出来) 🥭🥭传值 🍓🍓xml布局 🍗🍗activity_main.xml 🍗🍗item1.xml 🍗🍗item2.xml 🍗🍗item3.xml 🍗🍗recycle_item3.xml 🍓🍓简述...
Android 九宫格布局_android 九宫格菜单布局-CSDN博客
效果图 实现思路: 1.使用GridView来实现九宫格布局,设置numColumns=3。 2.图标使用的是Font Awesome矢量图标,详情可以参考Android 在APP中使用 Font Awesome 图标_.fa-headphones_清山博客的博客-CSDN博客 实现步骤: 1.布局文件:activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"...
Android 下第一个fragment app 先Java 后Kotlin
看着视频学习的,Fragment:3.Fragment使用方法_哔哩哔哩_bilibili 程序的运行效果是,手机页面有2个fragment,每个fragment 有一个text view,一个按钮,按一下显示,'fine,and you?',各自独立。 在android studio 下新建一个工程,类型是 Empty View Activity,本身就有一个Activity。就有文件MainActivity.java 或者kt,还有一个layout 文件,activity_main.xml。新建一个fragment,操作如下图: 可以看到左边有4个文件:程序文件 BlankFragment.kt,MainActivity.kt (Java版本是Java),布局文件activity.xml,fragment_blank.xml,分别对4个文件修改,先简化,再添加点点代码。然后就测试成功了。 最后文件如下: activity.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout...
无涯教程-Android - Grid View函数
Android GridView在二维滚动网格(行和列)中显示项目,并且网格项目不一定是预定的,但它们会使用ListAdapter自动插入到布局中 Grid View - Grid view ListView 和 GridView 是 AdapterView 的子类,可以通过将它们绑定到 Adapter 来填充,该适配器来自外部源的数据,并创建一个表示每个数据条目的视图。 Grid View - 属性 以下是特定于GridView的重要属性- Sr.NoAttribute & 描述 1 android:id 这是唯一标识布局的ID。 2 android:columnWidth 这指定每列的固定宽度。可以是px,dp,sp,in或mm。 3 android:gravity 指定每个像元内的位置。可能的值是top,bottom,left,right,center,center_vertical,center_horizontal等。 4 android:horizontalSpacing 定义列之间的默认水平间距。可以是px,dp,sp,in或mm。 5...
无涯教程-Android - List fragments函数
框架的ListFragment的静态库支持版本,用于编写在Android 3.0之前的平台上运行的应用程序,在Android 3.0或更高版本上运行时,仍使用此实现。 List fragment 的基本实现是用于创建fragment中的项目列表 List in Fragments 示例 本示例将向您说明如何基于arrayAdapter创建自己的列表片段,在开始编码之前,我将在 res/values目录下的 string.xml 文件中初始化字符串常量。 <?xml version="1.0" encoding="utf-8"?><resources><stringname="app_name">ListFragmentDemo</string><stringname="action_settings">Settings</string><stringname="hello_world">Hello...
Android studio之GridView使用
UserGridviewAdapter package com.example.gridviewpro.Adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.example.gridviewpro.R; import com.example.gridviewpro.bean.UserGridviewBean; import java.util.List; public class UserGridviewAdapter extends BaseAdapter { private Context mContext; private List<UserGridviewBean> mUserGridviewBeanList;...
Android学习之路(2) 设置视图
在Android开发中,可以使用LayoutParams类来设置视图(View)的宽度和高度。LayoutParams是一个用于布局的参数类,用于指定视图在父容器中的位置和大小。 下面是设置视图宽度和高度的示例代码: // 创建一个LayoutParams对象 LayoutParams layoutParams = new LayoutParams(width, height); // 设置视图的LayoutParams参数 view.setLayoutParams(layoutParams); 在上述代码中,width和height分别代表要设置的视图的宽度和高度,可以是具体的像素值,也可以使用特殊常量进行设置,如LayoutParams.WRAP_CONTENT表示自适应内容大小,LayoutParams.MATCH_PARENT表示填充父容器。 例如,如果要将视图的宽度设置为200像素,高度设置为300像素,可以使用以下代码: // 创建一个LayoutParams对象,设置宽度为200像素,高度为300像素 LayoutParams layoutParams...
安卓:BottomNavigationBar--底部导航栏控件_android 底部导航栏_敬往事一杯酒哈的博客-CSDN博客
目录 一、BottomNavigationBar介绍 BottomNavigationBar是一个用于Android应用程序的底部导航栏控件,通常用于在应用程序的不同页面之间进行快速切换。它提供了一种直观且易于使用的导航方式,使用户可以轻松访问应用程序的各个模块。 implementation 'com.ashokvarma.android:bottom-navigation-bar:2.0.4' 二、BottomNavigationBar的常用方法及其常用类 BottomNavigationBar提供了一系列常用的方法,用于定制和管理底部导航栏的外观和行为。以下是BottomNavigationBar的常用方法及其调用例子的详细介绍: 1. 添加菜单项 addItem(BottomNavigationItem item):向导航栏添加一个菜单项。 2. 移除菜单项 removeItem(int position):从导航栏中移除指定位置的菜单项。 3.
Android-RecyclerView
In Android, Recyclerview is the improved version of ListView. The data is shown using RecyclerView as a scrollable list. A ViewGroup is used to display a lot of data. It presents a View for each item in a big dataset. A scrollable list can be implemented effectively using RecyclerView.
Android-Fragment
A Fragment is a sub-activity. A single activity can contain more than one fragment. Inside a single activity, fragments represent multiple screens. Some Features of Fragment: The Android framework is responsible for managing a fragment’s layout, views, and lifecycle. It can be considered an independent section of a user interface. A single fragment is used in multiple activities and combines multiple fragments in a single activity to build a multi-pane UI.
Android Studio初学者实例:仿拼多多砍价页面
本次实验较为综合,主要是用到了RecyclerView、okhttp库(用于网络访问)、gson库(解析json数据)、tomacat(服务器存放图片、文字等),所以代码较多,但知识点常用,如果毕设、工作接触安卓可以深入学习。我也会在本章深入讲解 首先列表的数据都是来源于Tomcat,所以在这里引用一下别人Tomcat的安装使用办法,在后面代码中我的Tomcat目录为:D:\Tomcat\apache-tomcat-8.5.89,大家也可装到D盘。 Tomcat安装步骤及详细配置教程(2022最新版)_tomcat安装及配置教程_Java程序员-张凯的博客-CSDN博客 添加文件到D:\Tomcat\apache-tomcat-8.5.89\webapps\ROOT目录下, 这里添加了两个文件:goods文件夹、goods_list_data.json(文件后续我可能会发布到资源里包括源码),一个json文件以及一个包含了图片、json的文件夹 给一下goods_list_data.json的内容:请把XXXX改成本机IP地址(cmd中ipconfig可以查看) [...
Android开发基础_安卓开发_xiranmoo的博客-CSDN博客
介绍 总结 android开发是指android平台上应用的制作,Android早期由“Android之父”之称的Andy Rubin创办,Google于2005年并购了成立仅22个月的高科技企业Android,展开了短信、手机检索、定位等业务,基于Linux的通用平台进入了开发。 Android是一种基于Linux的自由及开放源代码的操作系统,Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、库和运行环境层和Linux 内核层 App是在手机上运行的一类应用软件,而应用软件依附于操作系统,无论电脑还是手机,刚开机都会显示桌面,这个桌面便是操作系统的工作台。个人电脑的操作系统主要有微软的Windows和苹果的Mac OS,智能手机流行的操作系统也有两种,分别是安卓手机的Android和苹果手机的iOS。本书讲述的App开发为Android上的应用开发,Android系统基于Linux内核,但不等于Linux系统,故App应用无法在Linux系统上运行。 Android...
ListView控件的使用_敬往事一杯酒哈的博客-CSDN博客
目录 1、BaseAdapter 2、SimpleAdapter 常用属性: 属性名称 功能描述 android:listSelector 当条目被点击后,改变条目的背景颜色 android:dividerHeight 设置分割线的高度 android:divider 设置分割线的颜色 android:scrollbars 是否显示滚动条 android:cacheColorHint 去除listview拖动时的背景色 android:fadingEdge 去掉上边和下边的黑色阴影 在给ListView添加数据的时候会使用到适配器,适配器是数据和视图之间的桥梁。下面就简单介绍一下ListView常用的适配器。 1、BaseAdapter BaseAdapter是一个抽象类,它的主要用途是将一组数据传到ListView、Spinner、Callery及GridView等UI显示组件,该类有四个抽象方法,通常在写适配器类时,需要继承BaseAdapter,实现其四个抽象方法。 BaseAdapter中的方法 方法名 功能描述 public int getCount()...
移动应用开发之路 05 Android Studio 简单登录界面制作
学校开了一门移动应用开发课程,我一开始兴趣盎然,但是看到使用的环境是 Java 8 的时候心就凉了一半,在询问老师的意见之后决定使用现在比较常用的Android Studio完成学习,特此记录自学之路。 这篇是一个总结性质的文章,主要为了熟练运用之前讲过的几个UI控件。小项目主要包括完成登录界面,校验输入是否为空,判断输入是否为正确用户名密码,输入成功后出现加载进度条。 效果先行 代码如下,注释比较详细了,文案解释就不太多。 目录 文件目录如下图所示 主要就是针对这三个被选中的文件。 AndroidManifest.xml 这个主要为配置文件,里面主要包括app桌面图标生成,app刘海等等。 AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"...
移动应用开发之路 03 Android Studio 6种布局介绍、实战详解
学校开了一门移动应用开发课程,我一开始兴趣盎然,但是看到使用的环境是 Java 8 的时候心就凉了一半,在询问老师的意见之后决定使用现在比较常用的Android Studio完成学习,特此记录自学之路。 1. 布局分类 安卓的布局一般分为这几类: 线性布局 相对布局 帧布局 表格布局 网格布局 约束布局 在Android Studio中,创建布局文件时可以直接选布局类型。 一般会按照从上到下(垂直布局)或者从左到右(水平布局)的顺序把组件排列至窗口。 设置一个参照物,其他的几个组件都是按照跟参照物的相对位置决定自己的位置。 就一层一层叠到一起,有点像PS里的图层。 表格布局适用于那种行列比较有规律性的东西,这个类似于html中的表格布局。 类似表格布局,但是不完全一样,更加灵活。 这个是特别特别常用的一种布局,可以用很少量的代码完成比较复杂的功能。 2.
基于android的即时通讯APP 聊天APP
一 项目概述 该项目是基于Android 的聊天APP系统,该APP包含前台,后台管理系统,前台包含用户通讯录,用户详情,用户聊天服务,用户二维码,发现功能,发现详情 , 个人中心, 个人信息, 编辑信息,上传头像,注册,登录,退出 等操作 。后台包含 系统管理,用户管理,聊天内容管理,聊天人员管理,发现管理 等功能, 东西非常多, 非常值得大家的学习和研究.
Android入门第61天-Fragment嵌套Fragment的用法_android fragment嵌套fragment_TGITCIC的博客-CSDN博客
我们经常会在现实需求中碰到这样的场景,如下图所示。 一个手机APP的首页,一般在布局时会有: 永久固定区; 一级联动区; 二级(多级)联动区; 如果是一级联动区域,它跟随着固定区域的功能按钮点击而不断变化这个还好理解一些。烦是烦在二级(甚至多级联动)如我图中所标出的深蓝色部分,深蓝色部分有一排功能按钮,然后当用户在点击这些按钮时下部的Fragment也在跟随着顶部的功能按钮(页签)的点而变化着不同的内容。 而。。。更复杂的是每一个页签的点击时,在本Fragment里还有二级按钮(圆型),而在点击这些二级按钮时,本身内部还有一堆孙子Fragment的内容也在发生着变化。 我们来看一个实际生产界面的例子你们就可以感受到上述我描述的场景了。 这边顶部的按钮为一级Fragment,它跟随着下部的按钮联动。 而这边用红色方框框起来的区域就是我说的,它需要被嵌在一级Fragment里的。 比如说点击“排行榜”下部显示的内容和点击“推荐”是完全不一样的。...
一个Adapter+recycleview实现多种布局,区分布局中_recycleview多种布局_不良使的博客-CSDN博客
动态图》》》 🥭🥭AllAdapter.java package Adapter; import android.app.Activity; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; import androidx.lifecycle.GenericLifecycleObserver; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager; import...
Android入门第30天-Android里的Toast的使用_安卓toast_TGITCIC的博客-CSDN博客
本篇带来的是: Android用于提示信息的一个控件——Toast(吐司)!Toast是一种很方便的消息提示框,会在 屏幕中显示一个消息提示框,没任何按钮,也不会获得焦点一段时间过后自动消失! 非常常用!我们通过一个例子把Toast的使用讲透! 我们的目标是实现2个Toast。 第一个Toast我们使用的是系统默认的样式,它显示两秒后自动消失; 第二个Toast我们使用的是自定义的样式,它在屏幕的中央显示两秒后自动消失; toast在屏幕上的闪现会有两种Duration。 Toast.LENGTH_SHORT,2秒; LENGTH_LONG,3点5秒; 我们会在自定义toast里使用一个图片,我们把它放在mipmap下; 我们会使用一个自定义的toast,因此需要定义一个view_toast_custom.xml文件; view_toast_custom.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout...
android ViewPager + Fragment + Tablayout 实现嵌套页面导航
目录 效果展示如下,完整代码在文章末尾 0、准备工作 (1)结构展示 首先由一个主页面来展示三个字页面(“首页”,“推荐”,“我的”),这三个子页面由fragment来显示。 (2)底部tab栏准备 首页底部tab栏用 BottomNavigationView,我们可以创建一个menu文件来给tab栏按钮设置样式 bottom_nav_menu.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_home" android:icon="@drawable/index" android:title="首页"/> <item android:id="@+id/menu_recommend" android:icon="@drawable/recommend" android:title="推荐"/> <item android:id="@+id/menu_mine"...
Android--记事本功能业务(完整代码)_android记事本_Slowfish172的博客-CSDN博客
目录 1.创建项目 项目名为Notepad,指定包名为cn.itcast.notepad Activity名称为NotepadActivity,布局文件名为activity_notepad 2.导入图片到res文件夹下面 一个新建的文件夹drawable-hdpi中 3.页面代码如下 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#fefefe"> <TextView android:id="@+id/note_name" android:layout_width="match_parent" android:layout_height="45dp" android:textSize="20sp"...
ReactNative封装Android原生UI_hzulwy的博客-CSDN博客
上篇博客,笔者介绍了如何封装Android原生模块供rn端调用,一共分为四个步骤。这篇我们来讲解下如何封装Android原生UI供rn端调用。 官方文档,请参考下面链接:https://reactnative.cn/docs/native-components-android。如果有些同学懒得看官方文档或是看完之后有些模糊不清的地方,可以参考下本篇博客列举的几个案例。 我们通过两个案例来讲解如何封装原生UI给rn端调用 封装TextView 封装Webview 封装TextView 第一步,集成SimpleViewManager,如下所示: package com.example.demo.reactnative.base.viewManager; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import android.widget.Toast; import...
最详细的主界面ViewPager2 使用详解
目录 a. b. c. d. e. 学习ViewPager2之前,建议先学习使用RecycleView ViewPager2属于新增的配件,且底层是用RecycleViews实现的,需要在项目的中添加相应的依赖.
基于Android的点餐系统设计与实现_android点餐系统_biyezuopinvip的博客-CSDN博客
目 录 摘 要 2 ABSTRACT 3 目 录 1 1 绪 论 1 1.1课题研究背景和意义 1 1.2课题可行性分析 2 1.3论文框架安排 3 2 开发语言说明 4 2.1 开发工具及环境简介 4 2.2 Android系统 5 2.2.1 Android Features特性 5 2.2.2 Android系统的四大组件 6 3 点餐系统分析 8 3.1概述 8 3.1.1系统分析的原则 8 3.1.2系统分析的方法 8 3.2系统需求分析 9 3.3系统流程分析 10 4 点餐系统详细设计 12 4.1 系统设计原则 12 4.2 系统设计目标 13 4.3系统总体结构设计 13 4.4服务端数据库设计 13 5系统实现与测试 16 5.1 搭建Android开发环境 16 5.2系统实现 18 5.2.1 登录模块实现 18 5.2.2 大全模块实现 19 5.2.3 在线下单模块 21 5.2.4 我的订单模块 23 5.2.5 服务端模块模块 26 5.3 系统测试 27 5.3.1 软件测试 27 5.3.2 测试用例 28 5.3.3 测试总结 28 6 总结...
android原生 PopupWindow 的基本使用
一、前言 Android 中的弹窗基本有两种,一种是 AlertDialog,另一种是 PopupWindow,AlertDialog 的显示位置是固定的,PopWindow 的显示位置是我们可以设置和调整的,因此,像项目中的一些场景如:某个功能的提示说明、点击按钮在按钮上方或者下方弹出菜单、新功能弹窗引导等。 Android PopupWindow (悬浮框) 是一个弹出窗口控件,可以用来显示任意 View,而且会浮动在当前 activity 的顶部,一般用于悬浮在其它 UI 控件旁边,如果你经常使用过 QQ ,那么一定见过,就是在某个列表上长按弹出的那个 和 AlertDialog 对话框不同的是,PopupWindow 的位置可以是随意的 而且 AlertDialog 是非堵塞线程的,而 PopupWindow 则是堵塞线程的 PopupWindow 可以通过 XML 代码来创建一个悬浮框,还可以通过实例化 PopupWindow 来实现,不过,这货的构造方法也太多了吧 构造函数 PopupWindow() PopupWindow(Context context)...
基于Android studio开发的图灵智能聊天机器人
前言 在人工智能时代,开发一款自己的智能问答机器人,既可以提升自己的编程能力,又可以作为开发项目的实战练习。 百度有小度,小米有小爱,VIVO有小V,总之类似的智能聊天机器人是越来越多了。面对这些智能的机器人,我们似乎只能是体验者。想想底层的算法就让人头疼,它到底是怎么识别出一句话的意思的?又是怎么实现智能回复的? 接下来我将用Android studio并借用百度图灵机器人((turingapi.com))教大家实现一个属于自己的智能聊天机器人。 学 号 231 姓 名 福福 指导教师:赵,罗,钟 2022年5月8日 1 系统设计 1.1 设计要求 1.1.1 设计任务 设计一个对话框能实现聊天功能,要求能联网实现自动对话的功能,可以实现编辑、发送、删除等功能。 1.1.2 性能指标要求 1、基本要求 要求完成程序源码编写、调试及关键代码注释。 2、发挥部分 实现多客户端间的聊天功能。 1.2 设计思路及设计框图 1.2.1设计思路 智能聊天机器人的设计流程如下: ①将要显示的数据封装成Data数据。 ②将封装好的Data数据设置成HTTP请求数据。...
Android RecyclerView的基本使用,初学必备
RecyclerView的使用虽然比较繁琐,但是可以将它分成各个部分,一个一个来完成,就很简单。这里实现最基本的item点击效果(像ListView自带一样,点按有变颜色反馈),点击监听,长按监听。后面有需求可以在此基础,再加入更多实现细节。 一、资源文件(直接复制粘贴,重点在Adapter) 作用:实现按压变色,看图片效果 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!--按压状态item--> <item android:state_pressed="true"> <shape> <!-- size用于展示,此处设置不生效 --> <size android:width="800dp" android:height="60dp" /> <!-- 圆角半径 --> <corners android:radius="3dp" /> <!-- 按压背景颜色 --> <solid android:color="#AFAFB0" /> </shape> </item>...
ViewPager+Fragment的基本使用_ズ神马都是浮云&スタ的博客-CSDN博客
viewPager简介 Android 3.0后引入的一个UI控件——ViewPager(视图滑动切换工具),实在想不到 如何来称呼这个控件,他的大概功能:通过手势滑动可以完成View的切换,一般是用来做APP 的引导页或者实现图片轮播。ViewPager就是一个简单的页面切换组件,我们可以往里面填充多个View,然后我们可以左 右滑动,从而切换不同的View。 Fragment Fragment是Android3.0后引入的一个新的API,他出现的初衷是为了适应大屏幕的平板电脑, 当然现在他仍然是平板APP UI设计的宠儿,而且我们普通手机开发也会加入这个Fragment, 我们可以把他看成一个小型的Activity,又称Activity片段!想想,如果一个很大的界面,我们 就一个布局,写起界面来会有多麻烦,而且如果组件多的话是管理起来也很麻烦!而使用Fragment 我们可以把屏幕划分成几块,然后进行分组,进行一个模块化的管理!从而可以更加方便的在 运行过程中动态地更新Activity的用户界面!另外Fragment并不能单独使用,他需要嵌套在Activity...
Building a Kotlin Mobile App with the Salesforce SDK: Editing and Creating Data - Part 2
Here in Part Two of our three-part series, we continue to build on the fundamentals of Android development with the Salesforce Mobile SDK. In Part One, we covered project setup and creating a layout that fetches data from Salesforce, using Kotlin as our programming language of choice. Before we continue towards developing a complete mobile synchronization strategy, we’ll first build out our mobile app to allow editing and creating data on our Salesforce org.
Android studio实现网上订餐app
目录 应用总体描述 本次课程设计开发的是一款网上订餐的应用,该项目与我们平常看到的外卖界面比较类似,展示的内容包括店铺、菜单、购物车、订单与支付等信息。 网上订餐app是模拟外卖功能的项目,其中包含订餐的店铺、各店铺的菜单、购物车以及订单与付款等模块。在店铺列表中可以看到店铺的名称、月销售、起送价格与配送费用、配送时间以及福利等信息,点击店铺列表中的任意一个店铺,进入到店铺详情界面,该界面主要显示店铺中的菜单,同时可以将想要吃的菜添加到购物车中,选完菜之后可以点击该界面中的“去结算”按钮,进入订单界面,在该界面核对已点的菜单信息,并通过“去支付”按钮进行付款。 应用开发环境 操作系统:Windows10 64位系统 开发工具:JDK15.0.2,Android Studio 4.1.3+模拟器(夜神模拟器7.0.1.2)Tomcat9.0.45 API版本:Android API 30 应用模块说明 网上订餐app主要分为两大功能模块,分别为店铺和订单,这两个模块的结构如图1-1所示。 图1-1应用模块结构...
app直播源代码,下拉查看图文详情效果_ITPUB博客
app直播源代码,下拉查看图文详情效果 package com.example.administrator.permissiondemo.activity; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.VelocityTracker; import android.view.View; import android.view.ViewConfiguration; import android.view.ViewGroup; import android.widget.Scroller; /** * Created by baoyunlong on 16/6/8.
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with import
Contact import, search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack