可以自己做键盘的app

做一个自己的键盘 app 可以让用户根据自己的需求和喜好来定制键位和布局。在这篇文章中,我将介绍如何使用 Android Studio 来创建一个简单的键盘 app。

首先,我们需要创建一个新的 Android Studio 项目。在创建项目时,选择 ‘Empty Activity’ 模板。之后,我们需要在 gradle 文件中添加如下依赖:

```

implementation 'com.android.support:appcompat-v7:28.0.0'

implementation 'com.android.support.constraint:constraint-layout:1.1.3'

implementation 'com.android.support:support-v4:28.0.0'

```

接下来,我们需要在项目的 layout 文件夹中创建一个 keyboard.xml 文件。在这个文件中,我们可以定义键盘的布局和样式。一个基本的键盘布局可以通过以下代码进行创建:

```xml

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/keyboard_input"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_marginBottom="8dp"

android:inputType="text"

app:layout_constraintBottom_toTopOf="@+id/key_container"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"/>

android:id="@+id/key_container"

android:layout_width="match_parent"

android:layout_height="0dp"

android:rowCount="3"

android:columnCount="3"

android:layout_marginStart="8dp"

android:layout_marginEnd="8dp"

app:layout_constraintTop_toBottomOf="@id/keyboard_input"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintEnd_toEndOf="parent">

android:text="A"

app:layout_columnWeight="1"

app:layout_rowWeight="1"/>

android:text="B"

app:layout_columnWeight="1"

app:layout_rowWeight="1"/>

android:text="C"

app:layout_columnWeight="1"

app:layout_rowWeight="1"/>

android:text="D"

app:layout_columnWeight="1"

app:layout_rowWeight="1"/>

android:text="E"

app:layout_columnWeight="1"

app:layout_rowWeight="1"/>

android:text="F"

app:layout_columnWeight="1"

app:layout_rowWeight="1"/>

android:text="G"

app:layout_columnWeight="1"

app:layout_rowWeight="1"/>

android:text="H"

app:layout_columnWeight="1"

app:layout_rowWeight="1"/>

android:text="I"

app:layout_columnWeight="1"

app:layout_rowWeight="1"/>

```

在上述布局中,我们使用了 ConstraintLayout 和 GridLayout。在键盘布局中,我们使用 GridLayout 来放置键位,然后使用 ConstraintLayout 来放置整个键盘。此外,我们在键盘上添加了一个 EditText 视图,用于输入文本。

现在,我们需要为 each 个 button 添加点击事件。我们可以在键盘的 Activity 类中添加 click 监听器,然后在监听器中更新 EditText 中的文本。我将为选择的键位添加一些逻辑,以避免选择不合适的键。

```java

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

public class KeyboardActivity extends AppCompatActivity implements View.OnClickListener {

private EditText mInputEditText;

private String mLastInput = "";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_keyboard);

mInputEditText = findViewById(R.id.keyboard_input);

findViewById(R.id.button_a).setOnClickListener(this););

findViewById(R.id.button_b).setOnClickListener(this););

findViewById(R.id.button_c).setOnClickListener(this););

findViewById(R.id.button_d).setOnClickListener(this););

findViewById(R.id.button_e).setOnClickListener(this););

findViewById(R.id.button_f).setOnClickListener(this););

findViewById(R.id.button_g).setOnClickListener(this););

findViewById(R.id.button_h).setOnClickListener(this););

findViewById(R.id.button_i).setOnClickListener(this););

}

// 实现点击事件

@Override

public void onClick(View v) {

Button button = (Button) v;

String input = button.getText().toString();

if (isInputValid(mLastInput, input)) {

mInputEditText.append(input);

mLastInput = input;

}

}

// 检查输入是否有效

private boolean isInputValid(String lastInput, String input) {

if (lastInput.equals("A") && input.equals("B")) {

return false;

}

if (lastInput.equals("B") && input.equals("A")) {

return false;

}

return true;

}

}

```

现在,我们的键盘 app 已经可以使用了。用户可以通过点击键位来输入文本,键位点击后会检查它是否与上一个输入的键位有冲突,如果没有冲突,文本将被添加到 EditText 中。如果您想加入更多的功能,例如自定义键位和布局,您可以通过修改 keyboard.xml 文件和键盘的 Activity 类来实现。

这是一个简单的示例,可以帮助您了解如何创建一个键盘 app。如果您想深入学习 Android 开发,您可以参考 Android Studio 文档和教程。


相关知识:
自做app
自做app,需要具备一定的编程基础和相关技能,包括但不限于编程语言、软件开发工具等。下面将从一个简单的示例开始,介绍自制app的基本原理和相关的详细步骤。示例:制作一个简单的计算器app1.确定需求首先需要明确自己想要制作的app是什么,需要具备哪些功能。
2023-06-05
自律做菜app
随着现代生活水平的提高,餐饮文化也越来越受到人们的关注。然而,随着工作压力和生活紧张程度的增加,很多人也面临着健康问题,而饮食不均衡可能是其中一个重要因素。为了解决这个问题,自律做菜app应运而生。下面将详细介绍自律做菜app的原理及功能。自律做菜app包
2023-06-05
自己做连环动画的app
连环动画,也叫漫画,是一种能够展现一个故事情节的图像形式。现在,越来越多的人对连环动画感兴趣,因为它能用有限的空间表达丰富的内容。如果你也想自己做连环动画的app,下面是一些详细介绍和原理供你参考。一、选择一个开发平台首先,你需要选择一个开发平台。对于初学
2023-06-05
自己做店铺配送app
在移动互联网时代,多数商家已经意识到了“店铺配送app”的重要性。比如,美团外卖和饿了么就是目前市场上比较知名的应用。自己做店铺配送app需遵循以下步骤:第一步:需求分析首先,需要进行需求分析,了解用户对于特定类型的店铺配送app的需求和期望。一般来说,店
2023-06-05
自己开发的app怎么在手机上运行
开发APP是一项技术性较强的任务,需要使用编译器和开发工具等软件来实现。在开发完成后,我们需要在手机上进行调试和测试,以保证APP的稳定性和用户体验。在一般情况下,将APP安装到手机上的方式有两种:使用模拟器或者通过USB调试连接手机测试。使用模拟器在开发
2023-06-05
自己开发的app如何使用
自己开发的app通常需要安装到手机上才能正常使用,一般可通过两种方式安装,即从开发者自己的网站下载或通过应用商店下载。其中,应用商店一般需要在开发者账号下先注册并上传app,经过审核后才能上架。开发者可以通过自己的开发工具进行打包生成app文件,包括ios
2023-06-05
郑州自己怎么开发app软件
随着移动互联网的普及,不论是自媒体,还是企业运营等领域,都需要有自己的APP。而对于普通人来说,他们往往不知道如何开发一款APP软件。今天我们就来看看,如何在郑州开发自己的APP软件。一、确定APP类型和功能在开发一款APP软件之前,我们应该明确自己的AP
2023-06-05
怎么自己做apple pencil笔套
随着Apple Pencil在不断地普及,并且越来越受到广泛的欢迎和使用,许多人也开始思考如何更好地保护他们的Apple Pencil。在市场上可以找到各种各样的Apple Pencil笔套,但是自己动手制作一个也是一种不错的选择。本文将给大家提供一个制作
2023-06-05
微信开发者工具怎样看自己的appid
微信开发者工具是一款专门用于微信小程序的开发工具,它可以方便地进行代码编写、实时预览和调试等操作,大大提高了开发效率。在开发小程序时,我们需要使用开发者工具的 AppID 来连接到微信服务器,以便进行调试和测试。那么,怎么才能看到自己的 AppID 呢?下
2023-05-31
清华大学校内app是自己开发的吗
清华大学校内app是在清华大学校园卡有限公司的支持下,由清华学堂教育科技(北京)有限公司联合清华大学信息化技术中心开发的。该应用程序旨在提供一站式的清华校内服务,方便师生学习和生活,实现智慧校园的目标。清华大学校内app平时包含登录入口、新闻资讯、校园地图
2023-05-30
如何自主开发代还app
代还App是指为用户提供代还贷款或信用卡账单等服务的手机应用,适用于在社交或生活场景中出现朋友求助或还款需求的情况,方便快捷,是近年来互联网金融流行的一种应用类型。在自主开发代还App的过程中,需要掌握以下原理和技术。一、技术原理1. 接入第三方支付平台代
2023-05-30
免费体验自建app软件专题
自建app软件是指利用各种工具和资源,自己动手开发一个适合自己的手机应用程序。现在,随着手机应用程序的需求不断增长,越来越多的人都希望能够体验自建app软件的乐趣。在本文中,我们将通过介绍自建app的原理和步骤,以及推荐一些常用的免费工具和资源,为大家提供
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1