可以自己做键盘的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是一款记录、管理个人足迹的应用程序,用户可以在地图上标记自己走过的地方,记录旅行、出差、户外活动等足迹,同时还能上传照片,制作旅行日志等。而制作自己的足迹模板是一个很有趣的功能,下面我将介绍自己制作足迹模板的原理和详细步骤。一、足迹模板是什么?足
2023-06-05
做一个属于自己大学的app
现如今,移动设备和智能手机已经成为了人类生活的一部分,大众对手机、电脑等电子设备的需求也越来越高。在大学中,学生、教师和管理人员都需要使用手机等电子设备,以便更好地进行学习和管理工作。因此,开发一款属于大学的应用程序无疑是非常有必要的。一款属于大学的应用程
2023-06-05
自建app运营总共多少钱
自建APP是当下广受关注的一个话题,在中国的互联网行业中,无论是初创企业还是成熟企业,自建APP都已经成为必不可少的一部分,而自建APP的成本和运营费用也是开发者必须考虑的问题。自建APP的成本包括三部分:开发成本、推广成本和运营成本。开发成本又包括设计成
2023-06-05
自建app应用只需5步
自建App应用已经成为了企业和个人的标配之一,因为它可以满足人们快速获取信息和便捷完成操作的需求。而现在,自建App已经不仅仅是企业的专利,个人用户也可以通过一些工具轻松创建自己的App应用,下面我来介绍一下创建自己的App应用的5个步骤。Step 1:
2023-06-05
自建app位置
自建app位置是指通过一定的技术手段,将应用程序上传到某个特定的服务器上,用户可以通过特定的链接或者二维码进行下载并安装使用该应用程序。以下将详细介绍自建app位置的原理。自建app位置的原理自建app位置的实现原理十分简单,只需要在服务器上先搭建好一个网
2023-06-05
自己如何制作直播app软件
要制作一款直播App,需要掌握以下几个核心技术:1. 视频采集和编码技术视频采集可以使用手机自带的摄像头模块,或者依靠外接的USB摄像头模块。采集到的视频需要进行编码,通常使用H.264或VP8编码算法。采集和编码可以使用系统底层的视频处理库,或者自己编写
2023-06-05
自己制作app软件需要
制作一个app软件是很多人都想要做的事情,但是很少人知道具体过程和所需要的知识和技能。在这篇文章中,我将会介绍app软件制作的基本步骤和需要了解的知识。1.确定设想在开始制作app软件之前,首先要确定具体的设想。这个设想可以是一个功能,一个游戏,一个服务等
2023-06-05
怎样做出自己的app
制作自己的app是近年来越来越受到人们重视的一个话题。随着移动互联网时代的到来,越来越多的人开始使用智能手机,并且使用的时间越来越长。因此,开发一款个性化定制,功能丰富的app就显得尤为重要。本文将介绍制作自己的app的原理和详细步骤。一、原理制作app需
2023-06-05
哪个app可以自己制作书
现如今,技术日新月异,我们已经可以通过许多的应用程序,轻松自己制作一本电子书。在这里,我将会为大家介绍几款比较好用的应用程序,并着重说明它们的原理或详细介绍。1. 苹果iBooks Author苹果iBooks Author是一款专为Mac OS用户设计的
2023-05-30
快速自己制作电子书的app
随着移动互联网的普及,电子书已经成为许多人学习、阅读的首选。自己制作电子书可以非常方便地将个人或团队的知识产出转化为电子书分享给其他人,也可以为自己的工作、生活、学习等方面制作电子书备用。本文将介绍一些可以快速自己制作电子书的app,以及它们的原理或详细介
2023-05-30
开发手机app是找外包还是自己开发的
开发手机app是如今的流行趋势之一,越来越多的企业和个人都想要拥有自己的手机app来推广自己的品牌、提供更好的用户体验等等。但是在开发手机app时,很多人往往会面临一个关键问题:是找外包还是自己开发?首先,我们来说说找外包开发的优缺点。优点:1. 专业:外
2023-05-30
python做app自动化
随着智能手机的普及,移动应用程序的开发成为了一个非常热门的领域。而对于应用程序的测试和自动化测试,也成为了开发过程中必不可少的一步。本文将介绍如何使用Python来进行移动应用程序的自动化测试。一、移动应用程序的自动化测试移动设备应用程序的自动化测试是在本
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1