可以自己做键盘的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的功能1.个人成长阶段性计划:能够帮助用户设定短期目标,如一周、一月的计划。同时APP会实时追踪、统计
2023-06-05
自建app商场
自建APP商场是指用户自己从零开始建立一个APP商场。这个商场既可以是用户自己的个人商城,也可以是一个大型商城,可以为其他人提供交易服务。这种商城的优点是可以根据自己的需求来定制,并且可以减少商城的成本。下面是自建APP商场的相关原理和详细介绍。一、自建A
2023-06-05
自己做电脑主题的软件的app
做电脑主题的软件本质上是一款美化工具,使用者可以通过它来更改电脑的桌面背景、图标、音效、字体等各个方面,来实现自定义的样式和个性化需求。要实现这个功能,我们可以采用一些主题引擎、桌面UI框架和图标制作工具,将它们进行集成,构建一个完整的主题美化软件。下面我
2023-06-05
自己做app软件哪个最好赚钱
在移动互联网时代,越来越多的人开始尝试自己做app软件,希望通过成功的应用程序获得收益和名望。但是,要想成功地开发应用程序并赚钱,需要进行深入的市场调研和技术分析。本文将介绍几种最好的赚钱app类型,以及成功的创业原则。1.移动游戏在移动应用程序中,移动游
2023-06-05
自己怎么样做一个app卖东西
想要开发一个APP进行销售,主要步骤包括设计、开发、测试、发布等多个环节。以下是APP销售的详细介绍。设计:第一步是设计,确定你想要开发的APP功能、界面、流程等。这部分的流程可以使用原型设计工具,例如Adobe XD、Sketch、Axure RP等。在
2023-06-05
自己开发的app 安装到苹果手机上
在开发完自己的iOS应用之后,就需要将其部署到设备上进行测试或者发布到App Store上让更多的用户使用。在iOS系统中,安装应用需要通过Xcode工具或者苹果企业证书进行签名,并且满足一定的限制条件,才能被许可安装和运行。在iOS系统中,只有经过苹果官
2023-06-05
自己制作小说app软件免费
要自己制作小说App软件,需要具备一定的编程知识和技能。以下是一些可以帮助你制作小说App的原理和详细介绍:1. 客户端和服务器首先,需要考虑选择什么样的技术栈来制作小说App。一般情况下,客户端和服务器是比较常见的选择。客户端是指运行在手机或平板电脑等终
2023-06-05
淘宝自动做单app
淘宝自动做单APP是一种基于淘宝平台的自动下单工具。使用这个APP可以轻松地帮助用户完成在淘宝平台上的下单流程,无需手动操作,提高下单效率。该APP的原理是通过程序自动模拟用户的行为,完成下单流程。用户只需要提前设置好下单信息,包括商品信息、收获地址、支付
2023-05-31
如何自学开发app零基础教程
自学开发App是一项非常有挑战性的任务,尤其是对于零基础的人来说。不过,只要有足够的耐心和毅力,就可以成功地学会开发App。本文将为您介绍一些自学开发App的有效方法和重要步骤。第一步是了解所选择的操作系统,即iOS或Android。若要开发iOS App
2023-05-30
哪些app可以做自媒体赚钱
自媒体已经成为了一个十分热门的行业,很多人都想在自媒体上拿到一份收入。那么,哪些app可以做自媒体赚钱呢?下面我们来一一介绍一下。一、微信公众号微信公众号是做自媒体比较常用的平台之一,它是一个让企业、组织、个人等拥有自己的公众帐号,以便在微信平台上发布信息
2023-05-30
程序员自己做app接入支付
移动支付已经成为现代人移动生活必不可少的一部分,而对于程序员来说,如何自己接入支付系统呢?本文将会介绍自己接入支付系统的原理和详细步骤。一、支付系统原理接入支付系统有两个流程:支付下单和支付结果查询。1. 支付下单支付下单的流程大概是这样的:①客户端APP
2023-05-30
app自动开发平台
App自动开发平台是一种能够简化应用程序(App)开发过程的工具或平台。它采用模板、自动化脚本、代码库、API和其他技术手段来帮助开发者快速便捷地建立、测试、部署和更新App。本文将介绍App自动开发平台的原理和详细介绍。一、原理App自动开发平台的原理基
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1