可以自己做键盘的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进行购物,区域性购物app也越来越受欢迎。那么,自建一个区域性购物app需要花费多少钱呢?下面我们来
2023-06-05
自己做一个app大概多少钱
要搭建一个完整的App,需要考虑到众多的因素,例如设计、开发、测试、市场推广等等,每个环节都会影响到App的价格。因此,想要准确地回答这个问题是比较困难的,因为每个App的需求都不同,价格也会因此而有所不同。下面我将从开发 App 的主要方面和流程的角度来
2023-06-05
自己开发一个app需要什么步骤
开发一款手机应用程序需要进行以下几个步骤:1. 进行市场调研:在着手开发之前,需要先了解市场对类似应用的需求,分析目标用户、竞争对手等因素。这有助于开发团队确定该应用的功能性、定位策略、需求等。同时也有助于追踪当前流行趋势,以便合理规划后续研发计划。2.
2023-06-05
自己制作的app有版权吗安全吗
自己制作的app是否有版权,安全性如何是一个备受关注的话题。事实上,对于制作应用程序的人来说,版权问题和安全问题是非常重要的。以下是对这些问题的原理及详细介绍。1.版权问题开发应用程序需要花费大量时间和精力,因此,开发人员对其知识成果的保护显然是很重要的。
2023-06-05
制作一个自己的app要多少钱
制作一个自己的APP是一项复杂的任务,需要一个团队来完成。这个团队包括了设计师、开发人员、测试人员和项目经理等。因此,答案取决于应用程序的复杂性、功能和目标市场等因素。一般来说,自己制作一个APP需要以下几个步骤:1. 需求分析在这个阶段,您需要与团队讨论
2023-06-05
怎么拥有自己做的app所有权
拥有自己制作的app的所有权是每个开发者都应该了解的基本原理,在此向大家简要介绍一下。首先,需要声明的是,在创建app时,一般情况下应该遵守开源和版权等相关法律法规,确保不侵犯他人权利。对于自己开发的app,拥有所有权的原理是基于版权保护的基础上,我们可以
2023-06-05
有没有可以自己做鞋的app
近年来,越来越多的消费者希望能够自己设计并制作自己的鞋子,以体现个性化和独特性。在这种背景下,有关做鞋的应用程序得到了广泛的关注。目前市面上已有一些类似的应用程序,下面就为大家介绍其中两款比较有代表性的应用程序。1. Shoes of PreyShoes
2023-06-05
题库自动答题app如何制作
随着网络技术的不断发展,越来越多的人开始接受在线考试,但是面对大量的题目却常常感到力不从心,此时题库自动答题app就应运而生。今天我们来探讨一下如何制作一个题库自动答题app。一、原理介绍题库自动答题app利用OCR(光学字符识别)技术,识别出图片中的题目
2023-05-31
哪个app可以自建基金组合看估值
自建基金组合是指投资者自己根据自己的投资需求和风险偏好,在不同时间点购买不同的基金产品,形成了一个单独的基金组合。自建基金组合的好处是,可以获得更多的资产配置空间和更高的收益,让投资者更好地掌控自己的投资风险。市面上有很多app可以自建基金组合,比如支付宝
2023-05-30
帮你零基础自己制作app
在这个移动互联网时代,手机已经成为了人们的“第二个生命”,越来越多的人都开始逐渐对手机应用程序产生兴趣。而如今,不仅仅是技术精英才能制作出自己的APP,有了一些可视化开发工具,零基础的人也可以参与制作自己的APP了。下面我们就介绍一下零基础制作APP的原理
2023-05-30
app自建代理怎么抓包
在应用开发过程中,我们经常需要进行网络请求,这些网络请求可能会使用一些第三方 SDK 或者网络库来完成。但是我们不总能100%相信第三方库是安全的,有可能存在一些非法、不合理的操作,包括滥用用户隐私、上传用户数据等。因此,为了保证应用的安全性,我们需要使用
2023-05-30
app开发 自学
App开发已经成为越来越多人感兴趣的一个方向,因为它可以创造出功能十分强大的应用程序,帮助人们更加便捷地生活和工作。而且随着智能手机的普及,也使得App开发越来越受到重视。如果你也想要自学App开发的话,下面就提供一些可以帮助你入门的信息。一、基础知识在学
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1