可以自己做键盘的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好用
要自己做网站,需要掌握一些设计和编程技能。但是,如果你不会编写代码怎么办?幸运的是,现在有很多软件应用程序可以帮助你快速、轻松地创建网站。下面是一些好用的网站设计和开发应用程序的介绍和原理:1. WordPressWordPress是目前世界上最流行的内容
2023-06-05
自己做个聊天app
在现代社交生活中,聊天已经成为了每个人日常生活不可或缺的一部分,我们不但要聊天,而且需要一个能够保证我们隐私和信息安全的聊天平台。因此,自己开发一个基于加密保护的聊天app就显得尤为必要了。以下是一个简单的实现聊天app的原理和详细介绍。一、背景知识在这个
2023-06-05
自己做一app
今天,移动应用程序已经成为人们生活中不可或缺的一部分。随着智能手机和平板电脑的普及,许多人都想知道如何自己制作一个应用程序。制作应用程序可能看起来很困难,但实际上只需要一些基本的技能和一些耐心。在这篇文章中,我将向你介绍自己制作应用程序的基本原理和步骤。第
2023-06-05
自己开发鸿蒙app需要钱吗
开发鸿蒙App需要一定的资金投入,但具体金额因开发规模、开发内容和开发人员技术水平等因素而异。以下是一些需要考虑的开发成本:1.开发工具:注册开发者账号和购买开发软件的费用。目前鸿蒙开发者可以在华为官网免费注册,但若要开发自己的应用商店,则需要缴纳一定的费
2023-06-05
自己开发的app真机安装失败
在开发 iOS 或 Android 应用过程中,开发者可能会遇到自己开发的 app 在真机上安装失败的情况,而这种情况可能源自多种因素,下面我们将详细介绍可能的原因。 1.证书或 Provisioning profile 相关问题首先需要确认证书和 pro
2023-06-05
自己开发听书app
听书app是一种非常热门的手机应用程序,它允许用户在移动设备上以语音形式收听书籍和其他长篇作品。这种应用程序十分有用,因为它使人们能够在候车、长途旅行等时段中充分利用碎片时间。接下来就让我们来了解自己开发一款听书app的原理和详细介绍。1. 获得版权为了开
2023-06-05
微信小程序app怎么制作自己的程序
微信小程序是一种新型的应用程序,与传统的应用程序相比,它具有使用方便、使用范围广泛、开发周期短、运维成本低等优势,成为越来越多企业和开发者的首选。本文将详细介绍微信小程序的制作原理和步骤。一、微信小程序的原理微信小程序的开发原理采用了组件化的思想,即以组件
2023-05-31
什么app能自己做漫画
在如今的智能手机时代,人们越来越倾向于使用移动设备来完成许多事情,比如工作、学习和娱乐。其中,漫画是一种受欢迎的娱乐方式,吸引了很多人的关注。对于想自己做手绘漫画的人来说,现在有许多能够帮助他们实现这个目标的app可供选择。接下来,我们将介绍几个较为流行的
2023-05-31
零基础学app开发自学
如果你想学习如何开发自己的app,但缺乏基础知识,不要担心!下面将向你介绍学习app开发的一些基本步骤和原理。1. 学习编程语言在学习app开发之前,你需要先学会编程语言。最常见的编程语言包括Swift和Java。如果你想开发iOS应用程序,就需要学习Sw
2023-05-30
开发app mysql存在自己电脑上么
可以在自己电脑上安装MySQL服务器,来支持开发APP所需要的数据库功能。MySQL是一种开放源代码的关系型数据库管理系统,常用于Web应用程序的后台数据存储和数据处理。安装MySQL服务器需要下载MySQL官方提供的安装包,并按照默认选项进行安装。安装完
2023-05-30
彩票店自己做app
彩票店自己做app是一种将传统的彩票销售方式与互联网结合的创新方式,可以提高彩票销售的效率和便利性。下面我们来详细介绍一下彩票店自己做app的原理和步骤。首先,彩票店需要通过注册一个开发者账号在苹果和安卓平台上创建一个应用程序。这个过程需要与平台进行交互,
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1