可以自己做键盘的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,我们需要参照以下步骤: 1.确定目标和需求首先要明确这个APP是对哪个群体的服务,需要满足什么需求,要做到什么程度的功能和交互,以及保持用户的习惯,最好还要有个性化推荐等等。2.设计用户体验设计APP时需要考虑用户的需求,确定重要功能的位
2023-06-05
自己开发社区app
社区App是指一款基于社交网络和即时通讯技术,面向特定人群,提供一系列社交交流、信息发布等功能,以满足用户日常社交需求的应用软件。目前,随着移动互联网的发展,社区App已经成为人们生活中不可或缺的一部分,如今市面上已经有了很多社区App供人们选择使用。那么
2023-06-05
自己做app卖东西咋样
现在随着移动设备的普及,越来越多的人开始使用手机进行购物。因此,自己做一个app卖东西可以成为一项有利可图的商业模式。那么,如何自己做app卖东西呢?我们可以从以下几个方面进行介绍。第一:确定你要销售的产品或服务在做app之前,首先要明确的是自己要卖些什么
2023-06-05
自己的app怎么做小程序
小程序是一种基于微信平台的轻量级应用程序,用户可以在微信中无需下载即可使用。而很多公司或个人都有自己的APP,这时候可能会考虑把自己的APP做成小程序,这篇文章将介绍如何将自己的APP做成小程序。首先,我们需要了解小程序的原理。小程序实际上是基于微信的内部
2023-06-05
怎样自己开发app
自己开发app可以让你更好地实现自己的创意,也可以帮助你学习和提高编程技能。在本文中,我会介绍自己开发app的一些基本原理和详细步骤。1.选择合适的开发工具在自己开发app之前,你需要选择合适的开发工具。目前市面上有很多开发工具,包括Xcode、Andro
2023-06-05
怎么制作自已的外卖app
要制作自己的外卖App,你需要完成以下步骤:1.确定设计和功能首先,你需要确定自己希望App的设计和功能。考虑你希望用户能够在App上执行哪些操作,如下单、支付、查看菜单和订单状态等。你也需要思考App的设计与品牌风格等方面。2.选择合适的技术和开发平台选
2023-06-05
有什么app可以自己制作考试
制作考试的应用程序有很多,本文将为您介绍三款较为优秀的应用程序:Quizlet、Kahoot!、和Google Forms。1. Quizlet Quizlet 是一款在线的学习应用程序,用户可以在该应用上创建题库、卡片和测试,并与其他用户共享。Quizl
2023-06-05
我想自己做app
想要了解如何自己制作应用程序,需要具备以下几项知识:1. 编程基础大多数应用程序都需要使用编程语言来编写。因此,具有编程基础是实现这个目标的必要条件。我们建议您学习一些主要编程语言,例如Java、C++、Python等。了解基本语法和面向对象编程的概念和技
2023-05-31
手机app自己可以开发吗
现代社会中,手机APP已经成为人们日常生活中不可或缺的一部分。许多人都希望自己能够开发一款自己的APP,但是对于大多数人来说,这听起来很困难或者不现实。事实上,开发手机APP并不是那么困难,只需要有一些基本知识和技能即可。在本文中,我们将详细介绍手机APP
2023-05-31
如何自己制作题库考试app
随着移动互联网技术的逐步普及,各类移动应用越来越受到人们的欢迎和青睐,互联网上也相继出现了许多在线考试系统。而随着人们生活方式的改变,越来越多的人更倾向于使用移动端的应用来进行考试和学习。因此,制作一款适用于移动设备的考试应用程序已成为不少人的需求之一。接
2023-05-30
傻瓜自助式app开发制作流程
傻瓜自助式APP开发是一个简单易用的工具,可让用户轻松制作自己的APP应用程序,而无需有编写代码的技能。本文将介绍傻瓜自助式APP开发的流程及原理。第一步:选择APP开发平台要开始制作APP,您需要选择一个合适的APP开发平台。对于普通用户来说,选择一个易
2023-05-30
开发优惠券app自己做好做吗安全吗
随着电商的发展,优惠券已成为各大电商企业发行促销活动的一种常见方式。为更好地利用优惠券的这种营销方式,许多人开始尝试开发自己的优惠券App。那么,开发优惠券App本身安全吗?下面我们从原理和详细介绍方面来分析。一、优惠券App的原理优惠券App的实现原理是
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1