Git Product home page Git Product logo

androidkeyboard's Introduction

Android Custom Keyboard

Android Custom Keyboard with subtypes, themes and emoticons.

The keyboard is a complete solution for people who are looking for custom keyboard with themes. The application has Pashto (Afghanistan), Dari/Farsi (Afghanistan) and English keyboard (letters, numbers & symbols). This keyboard is built-in which enables users to type Pashto, Dari (Farsi) or English letters in any Android application.

The app has ten unique and beautiful themes, and keyboard layouts are responsive with difference device screen sizes and have layouts for landscape version.

The words prediction (suggestion) is one of core feature which works with English, Pashto and Dari languages. The app automatically predicts the word based on an algorithm, this feature offers a variety of words that a user intended to type which will appear above the keyboard and will enable a user to easily select his word (s) of choice.

The emoticons or smileys is another important feature added to this keyboard which has the large collection of smileys. Switching between language and smileys is simply a finger tap within your standard keyboard frame.

This keyboard has three different sounds for keys. These sounds are assigned based on different category e. g. functions, delete and other (normal) keys.

The tradition shift method to load more keys is replaced with Popup keys which help users to type fast and remember key locations easily. The additional letter is automatically inserted with the long press if the letter has only one additional letter (one popup key) and popup keyboard displays for more than one key. The popup keyboard is automatically closed when the screen is touched ( the key is pressed). The key labels have hints to help users to know which key has which additional letter(s). The keyboard has Zero-Width-Space key which breaks Pashto and Dari letters (avoid concatenation) but doesn’t add space between them. The app has settings to have full control over the application. The users can turn on/off languages, sounds on key press and words prediction.

Features Summary:

  • English keyboard
  • Pashto keyboard
  • Dari (Farsi) keyboard
  • Very clean user interface
  • Ten unique themes included
  • Emoticons/ Smileys
  • Words prediction/ suggestion
  • Sounds on key press
  • Popup keyboard for additional keys
  • Zero width space (break letters but no space)
  • Settings to control Input Methods and other features

The application is available on Play Store: Afghan Keyboard

androidkeyboard's People

Contributors

maihannijat avatar maihannijat84 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

androidkeyboard's Issues

Long Click in some key not work

I have creating emoji keyboard and i have using your keyboard but some key not work on long press (a,c,n,. etc) application unfortunately stopped.

06-08 12:41:45.046 28225-28225/com.example.napturalistamoji E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.napturalistamoji, PID: 28225 android.view.InflateException: Binary XML file line #8: Binary XML file line #8: Error inflating class com.sunzala.afghankeyboard.android.LatinKeyboardView Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class com.sunzala.afghankeyboard.android.LatinKeyboardView Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sunzala.afghankeyboard.android.LatinKeyboardView" on path: DexPathList[[zip file "/data/app/com.example.napturalistamoji-2/base.apk"],nativeLibraryDirectories=[/data/app/com.example.napturalistamoji-2/lib/arm, /system/lib, /vendor/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.view.LayoutInflater.createView(LayoutInflater.java:616) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:794) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:734) at android.view.LayoutInflater.rInflate(LayoutInflater.java:865) at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:828) at android.view.LayoutInflater.inflate(LayoutInflater.java:525) at android.view.LayoutInflater.inflate(LayoutInflater.java:427) at android.view.LayoutInflater.inflate(LayoutInflater.java:378) at android.inputmethodservice.KeyboardView.onLongPress(KeyboardView.java:1106) at com.example.napturalistamoji.android.LatinKeyboardView.onLongPress(LatinKeyboardView.java:222) at android.inputmethodservice.KeyboardView.openPopupIfRequired(KeyboardView.java:1083) at android.inputmethodservice.KeyboardView.-wrap0(KeyboardView.java) at android.inputmethodservice.KeyboardView$1.handleMessage(KeyboardView.java:386) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6776) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1518) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)

please give me some solution.

view null

I have creating custom keyboard and i have using your keyboard but not find keyboard view and get the error in application unfortunately stopped. error inflating class

Not able to open "ImePreferences" activity from "Languages and Input" section inside setting

I appreciate your work so much.
In this application it's working perfectly fine but when i integrated it in my app in setting my app is showing in virtual keyboards but when i'm trying to click on it, it's doing nothing.Just remains as it is.
Please help me if you get any idea.
Here is my code which is same as your code and my MainActivity.kt is blank:

ImePreferences.kt

package com.app.hebrewkeyboard.android

import android.content.Intent
import android.os.Bundle
import android.preference.PreferenceActivity
import android.support.v7.widget.Toolbar
import android.view.LayoutInflater
import android.view.ViewGroup
import android.widget.LinearLayout
import com.app.hebrewkeyboard.R
import com.app.hebrewkeyboard.inputMethod.InputMethodSettingsFragment

class ImePreferences : PreferenceActivity() {

override fun getIntent(): Intent {
    println("TAG -- keyboard --> getIntent()")
    val modIntent = Intent(super.getIntent())
    modIntent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, Settings::class.java.name)
    modIntent.putExtra(PreferenceActivity.EXTRA_NO_HEADERS, true)
    return modIntent
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    // TODO : We overwrite the title of the activity, as the default one is "Voice Search".
    setTitle(R.string.hebrew_keyboard_setting)
}

override fun isValidFragment(fragmentName: String): Boolean {
    return Settings::class.java.name == fragmentName
}

class Settings : InputMethodSettingsFragment() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setInputMethodSettingsCategoryTitle(R.string.language_selection_title)
        setSubtypeEnablerTitle(R.string.select_language)
        // TODO : Load the preferences from an XML resource
        addPreferencesFromResource(R.xml.ime_preferences_layout)
    }
}

/**
 * Add custom toolbar to Settings (Action Bar)
 *
 * @param savedInstanceState
 */
override fun onPostCreate(savedInstanceState: Bundle?) {
    super.onPostCreate(savedInstanceState)

    val root = findViewById<ViewGroup>(android.R.id.list).parent.parent.parent as LinearLayout
    val bar = LayoutInflater.from(this).inflate(R.layout.toolbar, root, false) as Toolbar
    root.addView(bar, 0) // insert at top
    bar.setNavigationOnClickListener { v -> finish() }
}

}

AndroidManifest.xml

<application
    android:allowBackup="true"
    android:fullBackupContent="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name=".android.ImePreferences"
        android:label="@string/hebrew_keyboard_setting">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
        </intent-filter>
    </activity>

    <service
        android:name=".inputMethodService.SoftKeyboard"
        android:permission="android.permission.BIND_INPUT_METHOD">
        <intent-filter>
            <action android:name="android.view.InputMethod" />
        </intent-filter>

        <meta-data
            android:name="android.view.im"
            android:resource="@xml/method" />
    </service>
</application>

how to change font style

how to change font style in keys and inputtext

like :
1.ƘҽҽԹ ϲɑӀʍ
2. мayвe
3. ҒRΩM ШHΔT
4. ℓσνє∂ σиє

Latin Shift Keys Problem

If I increase number of keys in pashto_latin.xml keyboard as well as in pashto_latin_shift.xml then number of keys visible in pashto_latin_shift keyboard is only 10 and other keys gets hide.because width of the keys gets increase in pashto_latin_shift.
I detected one thing that if number of keys increase in pashto_latin_shift then width of the keys increases automatically.But not getting from where this width gets increase.

please help

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.