一、目标
二、下载地址
神马笔记最新版本下载:【神马笔记 版本1.5.0——笔名功能.apk】
三、功能设计
- 标题栏组成
- 标题——显示当前编辑的目标
- 返回按钮——取消编辑内容
- 完成按钮——只有输入内容发生改变时可用,完成编辑内容
- 内容界面组成
- 文本——编辑框默认内容
- 提示——编辑框的提示文本
- 名称——显示在编辑框左上角,简短说明
- 解释——显示在编辑框左下角,进一步说明
- 输入文本限定
- 限定文本最大长度——默认不限定
- 限定文本最小行数——默认为1行
- 限定文本最大行数——默认不限定
四、准备工作
编辑昵称、个性签名使用EditText
即可完成,毫无技术难度。
常见的界面实现方式有2种——局部和全屏。
-
左侧——聊天宝以弹出局部对话框的方式编辑名称
-
右侧——微信以全屏的方式编辑名称
界面实现是选择局部,还是全屏?这是个有趣的问题。
从实现方式上考虑,二者都没有什么技术难度,开发时间也相差无几。
从用户体验上考虑,也是萝卜青菜各有所爱,分不出优劣。
最后选择的实现方式——全屏!
理由——切换输入法时,局部对话框会上下移动。
实在不喜欢对话框发生移动,因此最终选择全屏方式。
五、组合起来
1. 布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".preference.ComposeTextFragment">
<app.haiyunshan.whatsnote.widget.SearchTitleBar
android:id="@+id/title_bar"
android:layout_width="match_parent"
app:searchVisible="false"
android:layout_height="wrap_content"
android:background="@drawable/shape_preference_top_bar_bg">
</app.haiyunshan.whatsnote.widget.SearchTitleBar>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:overScrollMode="never">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="?listPreferredItemPaddingLeft"
android:paddingBottom="?listPreferredItemPaddingRight">
<include
android:id="@+id/tv_name"
layout="@layout/layout_setting_title_list_item"
android:layout_marginBottom="4dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
a