APP全屏简约登录界面实现

Ubuntu 26.04 GNOME/Wayland 窗口化全屏实现指南 窗口管理是桌面环境交互的核心概念,它决定了应用程序如何在屏幕上呈现和排列。其原理在于窗口管理器根据显示服务器协议(如X11或Wayland)和应用请求,控制窗口的尺寸、位置和装饰。这项技术的价值在于能优化屏幕空间利用,提升多任务处理效率和视觉沉浸感,广泛应用于视频播放、游戏、演示文稿和专注写作等场景。在Ubuntu 26.04等现代Linux发行版中,随着Wayland显示服务器的普及,实现无边框窗口化全屏(Borderless Windowed Fullscreen)的方法与传统X11环境有所不同。本文聚 阅读详情

实现如下图所示的登录界面

三星Galaxy s8截图,忽略图片右侧的拉出按钮(这是三星Galaxy s8上面的曲面侧屏拉出开关)

一、全屏设置:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

二、布局:

使用FrameLayout

附上布局文件代码

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff"
    tools:context="au.com.joincc.secusoft.LoginActivity">

    <ImageView
        android:id="@+id/iv_background"
        android:layout_width="match_parent"
        android:layout_height="1920px"
        android:src="@mipmap/login_background"
        android:scaleType="fitXY"/>

    <LinearLayout
        android:id="@+id/linear_login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_marginTop="683px">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="40dp">

            <ImageView
                android:id="@+id/iv_user"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_centerVertical="true"
                android:src="@mipmap/login_user" />

            <EditText
                android:id="@+id/et_user"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginLeft="20dp"
                android:layout_toLeftOf="@+id/iv_expansion"
                android:layout_toRightOf="@id/iv_user"
                android:background="@null"
                android:cursorVisible="false"
                android:hint="@string/hint_user"
                android:textColor="#000"
                android:textColorHint="#717070"
                android:textSize="15dp"/>

            <ImageView
                android:id="@+id/iv_expansion"
                android:layout_width="60dp"
                android:layout_height="40dp"
                android:layout_alignParentRight="true"
                android:src="@mipmap/little_expansion3"
                android:scaleType="centerInside"/>
        </RelativeLayout>

        <View
            android:id="@+id/viewDivider"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:background="#c1bcbc" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="40dp"
            android:layout_marginTop="10dp">

            <ImageView
                android:id="@+id/iv_paw"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_centerVertical="true"
                android:src="@mipmap/login_password" />

            <EditText
                android:id="@+id/et_paw"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginLeft="20dp"
                android:layout_toLeftOf="@+id/switch_paw"
                android:layout_toRightOf="@id/iv_paw"
                android:background="@null"
                android:cursorVisible="false"
                android:password="true"
                android:hint="@string/hint_paw"
                android:textColor="#000"
                android:textColorHint="#717070"
                android:textSize="15dp"/>

            <ImageView
                android:id="@+id/switch_paw"
                android:layout_width="60dp"
                android:layout_height="40dp"
                android:layout_alignParentRight="true"
                android:src="@mipmap/pwd_off"/>
        </RelativeLayout>

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:background="#c1bcbc" />

        <Button
            android:id="@+id/btn_login"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:layout_marginLeft="40dp"
            android:layout_marginRight="40dp"
            android:layout_marginTop="20dp"
            android:background="@drawable/shape_button2"
            android:text="@string/login"
            android:textSize="14dp"
            android:textColor="#fff" />
    </LinearLayout>
</FrameLayout>

 

Vue2 全屏登录页面设计:简约风格实现教程” “从零开始构建全屏背景的登录页面 - Vue2 实现” “如何用 Vue2 打造一个全屏覆盖布局的现代登录页面” “前端设计实战:Vue2 实现精美全屏 Vue2 全屏登录页面设计:简约风格实现教程” “从零开始构建全屏背景的登录页面 - Vue2 实现” “如何用 Vue2 打造一个全屏覆盖布局的现代登录页面” “前端设计实战:Vue2 实现精美全屏登录页面” “登录页面样式进阶:Vue2 打造简约全屏风格” “一站式教程!Vue2 登录页面全屏效果开发指南”Vue2 全屏登录页面设计:简约风格实现教程” “从零开始构建全屏背景的登录页面 - Vue2 实现” “如何用 Vue2 打造一个全屏覆盖布局的现代登录页面” “前端设计实战:Vue2 实现精美全屏 阅读详情

相关推荐

简洁的登录页面

简洁的登录页面。。。。。。。。。。。。。。。。。。。

vue实现全屏登录视频背景并适配浏览器窗口大小

实现登录页背景视频播放,并且能够根据浏览器窗口大小做到实时适配。

爱码士&的博客 2354

简洁漂亮的HTML5登录界面

简洁漂亮的HTML5登录界面,内置CSS,兼容电脑平板和手机。

简约风 登录页面

一个简单的登录页面,写写改改练练手,没有复杂的逻辑,用了HTML和CSS写页面和样式,通过JavaScript实现点击按钮切换状态。

qq_52046856的博客 2333

简约美观登录界面(html+css+js)

调用必应壁纸API实现每日自动更新背景,正则表达式匹配输入,一键实现夜间模式

简洁美观的一个登录页面

基于webstorm编写的一个小小的简洁美观的登录页面,外观高仿D站登录页面,代码不同更为易懂

登录界面全屏+背景图片沉浸式+键盘将输入框顶起来+键盘弹起背景不会被弹起或者压缩

需求: 界面背景沉浸 键盘弹起输入框不会被遮挡 键盘弹起背景不动 效果图如下: 界面布局文件:(在需要被顶起的布局上添加android:fitsSystemWindows="true"属性,如下方LinearLayout) <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+

倒骑驴走着瞧的博客 869

html5简单的 登陆界面

html5 简单的登陆界面 美观可以用 易于新手学习与应用

【Android应用开发之前端——简易App登录页面】

用Android Studio快速完成简单的App页面登录页面

Wistain的博客 5690

国内优秀MES开源框架

一套springboot 开源框架 代码标准规范化。 界面展示 演示地址 http://wangziyangmes.pzzd.xyz 用户名admin 密码123 系统管理 工艺管理 计划管理 物料管理 *用户管理* *工艺路线管理* 工单下达...

q707231019的博客 2万+

从Frenet坐标系到多项式拟合:Lattice Planner核心原理拆解与调参指南

本文深入解析了自动驾驶轨迹规划中Lattice Planner的核心原理,重点阐述了其在Frenet坐标系下解耦横纵向规划、利用五次和四次多项式拟合轨迹的数学基础。文章提供了从坐标系转换、采样策略到成本函数设计的完整工程实践指南,并分享了关键的参数调优经验,旨在帮助开发者高效实现稳定、平滑且安全的轨迹规划。

tech5的博客 1111

看了这些APP设计技巧,你的界面会变得完全不一样!

在竞争激烈的移动应用开发领域,APP 界面设计是决定其成败的关键因素。设计精良的界面不仅能提升用户体验,还能增强用户参与度与忠诚度。运用一些关键设计技巧,APP 设计者能够将普通界面转变为非凡之作。以下是一些能带来显著改变的重要设计技巧。

贝格前端工场的博客 1557

Mplus—交叉滞后面板模型(Cross-Lagged Panel Model, CLPM)

本文介绍交叉滞后模型相关知识,以及显变量模型与潜变量模型在Mplus中的语法。

m0_54401011的博客 1万+

React-Blog:如何使用Ant Design打造简约优雅的UI界面

React-Blog是一个基于React Hooks + Koa2 + Sequelize + MySQL构建的个人博客系统,它巧妙运用Ant Design组件库打造了简约优雅的用户界面。本文将深入解析这个开源博客项目如何利用Ant Design实现现代化、响应式的UI设计,为开发者提供实用的UI设计指南。 ## 🎯 项目概述与Ant Design集成 React-Blog项目采用前后端分离

gitblog_00095的博客 993

3张RTX 4090就能跑!BAGEL-7B多模态模型本地部署避坑指南(附Flash Attention安装技巧)

本文详细介绍了如何在3张RTX 4090显卡上本地部署BAGEL-7B多模态模型,包括硬件配置、环境设置、多卡并行优化及常见问题解决方案。特别提供了Flash Attention安装技巧和显存优化策略,帮助开发者高效运行这一开源多模态模型,实现文本与图像生成任务。

1a2s3d4f5g的博客 653

保姆级教程:用北醒TFmini-i-CAN雷达给PixHawk飞控加装‘眼睛’,实现自动避障与定高

经过多次测试,前向雷达的最佳安装位置是机架前部下方5-10cm处,倾斜角度20-30度。电源方面,建议为CAN设备单独供电,避免电机启动时的电压骤降导致数据异常。北醒TFmini-i-CAN雷达与PixHawk飞控的组合,为DIY爱好者打开了低成本实现智能避障的大门。实际部署时,需确保整个CAN网络的波特率一致(TFmini-i默认为250kbps),每个设备具有唯一ID。雷达的安装角度也直接影响检测效果,建议通过3D打印支架将雷达向前下方倾斜15-30度。当使用多个雷达时,需为每个设备创建独立的参数组。

weixin_30892889的博客 337

应用程序模板:16个创意的手机登录界面设计

  在这篇文章中,你将看到一些创意、时尚的手机应用程序注册和登录界面设计示例。它们都拥有出色的用户体验,能够帮助你的移动应用程序提升一个档次,希望你会喜欢它。 您可能感兴趣的相关文章 流行趋势:25个最佳扁平化网页设计案例 分享30个独特的 404 错误页面设计模板 向设计师分享30个免费的扁平化设计素材 优秀案例:40个创意的单页滚动网站作品 2012年最优秀的 HTML5 ...

weixin_30682127的博客 198

STM32实现webserver显示数据及配置参数

其实提到的将fsdata.c重命名为fsdata_custom.c,可以不重命令,将/LWIP/Target/lwipopts.h中HTTPD_USE_CUSTOM_FSDATA 定义为0,这样HTTPD_FSDATA_FILE将使用fsdata.c,避免每次生成fsdata.c需要重命令的麻烦。2、登录成功后,板卡根据板卡配置类型,返回对应的数据页面,该页面可实现数据校准、清零,以及进行到板卡参数设置页面。目前还未实现post功能以及http身份验证功能。3、板卡参数设置页面。

2694

详解鸿蒙Next仓颉开发语言中的全屏模式

和ArkTS一样,仓颉的新建项目默认是非全屏模式的,如果你的应用颜色比较丰富,就会发现屏幕上方和底部的留白,这是应用自动避让了屏幕上方摄像头区域和底部的导航条区域。但是新的问题出现了,你不让系统自动避让的话,就要自己避让上下方的摄像头和导航条区域。但是通常我们不需要这些留白,而是希望应用占满整个屏幕,这时候需要用到沉浸模式,下面为大家分享具体的实现过程。最后要注意,以上代码获取到的尺寸单位都是px,大家使用的时候要按需转换。HarmonyOS NEXT仓颉开发语言实战案例:电影App。

weixin_37060112的博客 47

《MySQL 入门教程》第 03 篇 管理数据库

本篇主要介绍 MySQL 数据库的创建、查看、选择和删除操作,包括使用 mysql 命令行和 MySQL Workbench 图形工具两种方式。

Tony.Dong的专栏 3525

SAR成像概述

1. 发展概述 雷达是英文Radar(Radio detection and ranging)的音译,原意为“无线电探测与测距”。雷达的发明是无线电发展史上的里程碑,二战时,英国急需通过雷达探测空中金属物体来帮助搜寻德国飞机,这期间,雷达技术飞速发展,发展出了地对空、空对地轰炸、空对空火控、敌我识别等功能。雷达在第二次世界大战中发挥了重大作用,至今仍是军用和许多民用领域的重要传感器。 早期雷达系统通过时间延迟来测距,通过天线指向来测角,通过多普勒频移测速。1951年,Carl Wiley发现,通..

5075

B端系统登录页:一文扫荡全部知识点,内附超多精美案例

B端系统登录页看似不起眼,但是最难设计,可以说是系统的门面,大千UI工场结合多年经验,将该知识点讲的清楚透彻,有界面设计和升级需求,可以联络大千,闲言少叙,开整。

2401_82616673的博客 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: Android自定义View 实现图片编辑功能(包括普通涂鸦、画圆、画矩形、画箭头、写字)
下一篇: Android采坑之TextView实际高度比TextSize大
zdj_develop
博客等级 码龄11年 56粉丝 109原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值