mirror of
https://github.com/SimpleMobileTools/Simple-Keyboard.git
synced 2025-02-04 11:57:34 +01:00
Add emoji palette
This commit is contained in:
parent
71e6b63158
commit
45e41471e2
3642
app/src/main/assets/media/emoji_spec.txt
Normal file
3642
app/src/main/assets/media/emoji_spec.txt
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,50 @@
|
||||
package com.simplemobiletools.keyboard.adapters
|
||||
|
||||
import android.content.Context
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.simplemobiletools.keyboard.R
|
||||
import com.simplemobiletools.keyboard.media.emoji.Emoji
|
||||
import kotlinx.android.synthetic.main.item_emoji.view.*
|
||||
|
||||
class EmojisAdapter(
|
||||
val context: Context, var items: List<Emoji>, val itemClick: (emoji: Emoji) -> Unit
|
||||
) : RecyclerView.Adapter<EmojisAdapter.ViewHolder>() {
|
||||
|
||||
private val layoutInflater = LayoutInflater.from(context)
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): EmojisAdapter.ViewHolder {
|
||||
val layoutId = R.layout.item_emoji
|
||||
val view = layoutInflater.inflate(layoutId, parent, false)
|
||||
return ViewHolder(view)
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: EmojisAdapter.ViewHolder, position: Int) {
|
||||
val item = items[position]
|
||||
holder.bindView(item) { itemView ->
|
||||
setupEmoji(itemView, item)
|
||||
}
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int {
|
||||
return items.size
|
||||
}
|
||||
|
||||
private fun setupEmoji(view: View, emoji: Emoji) {
|
||||
view.emoji_value.text = emoji.value
|
||||
}
|
||||
|
||||
inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
|
||||
fun bindView(any: Emoji, callback: (itemView: View) -> Unit): View {
|
||||
return itemView.apply {
|
||||
callback(this)
|
||||
|
||||
setOnClickListener {
|
||||
itemClick.invoke(any)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
package com.simplemobiletools.keyboard.extensions
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
|
||||
/**
|
||||
* Calls the [scroll] callback when the receiving RecyclerView's scroll position is changed.
|
||||
*/
|
||||
fun RecyclerView.onScroll(scroll: (Int) -> Unit) {
|
||||
addOnScrollListener(object : RecyclerView.OnScrollListener() {
|
||||
override fun onScrolled(
|
||||
recyclerView: RecyclerView,
|
||||
dx: Int,
|
||||
dy: Int,
|
||||
) {
|
||||
super.onScrolled(recyclerView, dx, dy)
|
||||
scroll(computeVerticalScrollOffset())
|
||||
}
|
||||
})
|
||||
}
|
@ -26,3 +26,6 @@ const val LANGUAGE_GERMAN = 5
|
||||
const val LANGUAGE_ENGLISH_DVORAK = 6
|
||||
const val LANGUAGE_ROMANIAN = 7
|
||||
const val LANGUAGE_SLOVENIAN = 8
|
||||
|
||||
|
||||
const val EMOJI_SPEC_FILE_PATH = "media/emoji_spec.txt"
|
||||
|
@ -0,0 +1,8 @@
|
||||
package com.simplemobiletools.keyboard.media.emoji
|
||||
|
||||
|
||||
data class Emoji(val value: String, val name: String, val keywords: List<String>) {
|
||||
override fun toString(): String {
|
||||
return "Emoji { value=$value, name=$name, keywords=$keywords }"
|
||||
}
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
package com.simplemobiletools.keyboard.media.emoji
|
||||
|
||||
import android.content.Context
|
||||
|
||||
private var cachedEmojiData: MutableList<Emoji>? = null
|
||||
|
||||
/**
|
||||
* Reads the emoji list at the given [path] and returns an parsed [MutableList]. If the
|
||||
* given file path does not exist, an empty [MutableList] is returned.
|
||||
*
|
||||
* @param context The initiating view's context.
|
||||
* @param path The path to the asset file.
|
||||
*/
|
||||
fun parseRawEmojiSpecsFile(
|
||||
context: Context, path: String
|
||||
): MutableList<Emoji> {
|
||||
cachedEmojiData?.let { return it }
|
||||
val emojis = mutableListOf<Emoji>()
|
||||
var emojiEditorList: MutableList<Emoji>? = null
|
||||
|
||||
fun commitEmojiEditorList() {
|
||||
emojiEditorList?.let {
|
||||
// add only the base emoji for now, ignore the variations
|
||||
emojis.add(it.first())
|
||||
}
|
||||
emojiEditorList = null
|
||||
}
|
||||
|
||||
context.assets.open(path).bufferedReader().useLines { lines ->
|
||||
for (line in lines) {
|
||||
if (line.startsWith("#")) {
|
||||
// Comment line
|
||||
} else if (line.startsWith("[")) {
|
||||
commitEmojiEditorList()
|
||||
} else if (line.trim().isEmpty()) {
|
||||
// Empty line
|
||||
continue
|
||||
} else {
|
||||
if (!line.startsWith("\t")) {
|
||||
commitEmojiEditorList()
|
||||
}
|
||||
// Assume it is a data line
|
||||
val data = line.split(";")
|
||||
if (data.size == 3) {
|
||||
val emoji = Emoji(
|
||||
value = data[0].trim(),
|
||||
name = data[1].trim(),
|
||||
keywords = data[2].split("|").map { it.trim() }
|
||||
)
|
||||
if (emojiEditorList != null) {
|
||||
emojiEditorList!!.add(emoji)
|
||||
} else {
|
||||
emojiEditorList = mutableListOf(emoji)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
commitEmojiEditorList()
|
||||
}
|
||||
|
||||
cachedEmojiData = emojis
|
||||
return emojis
|
||||
}
|
@ -106,7 +106,8 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL
|
||||
|
||||
val selectedText = inputConnection.getSelectedText(0)
|
||||
if (TextUtils.isEmpty(selectedText)) {
|
||||
inputConnection.deleteSurroundingText(1, 0)
|
||||
inputConnection.sendKeyEvent(KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL))
|
||||
inputConnection.sendKeyEvent(KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL))
|
||||
} else {
|
||||
inputConnection.commitText("", 1)
|
||||
}
|
||||
@ -155,6 +156,10 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL
|
||||
keyboard = MyKeyboard(this, keyboardXml, enterKeyType)
|
||||
keyboardView!!.setKeyboard(keyboard!!)
|
||||
}
|
||||
MyKeyboard.KEYCODE_EMOJI -> {
|
||||
keyboardView?.vibrateIfNeeded()
|
||||
keyboardView?.openEmojiChooser()
|
||||
}
|
||||
else -> {
|
||||
var codeChar = code.toChar()
|
||||
if (Character.isLetter(codeChar) && keyboard!!.mShiftState > SHIFT_OFF) {
|
||||
|
@ -0,0 +1,36 @@
|
||||
package com.simplemobiletools.keyboard.views
|
||||
|
||||
import android.content.Context
|
||||
import androidx.recyclerview.widget.GridLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import kotlin.math.max
|
||||
|
||||
/**
|
||||
* RecyclerView GridLayoutManager but with automatic spanCount calculation.
|
||||
*
|
||||
* @param context The initiating view's context.
|
||||
* @param itemWidth: Grid item width in pixels. Will be used to calculate span count.
|
||||
*/
|
||||
class AutoGridLayoutManager(
|
||||
context: Context,
|
||||
private var itemWidth: Int
|
||||
) : GridLayoutManager(context, 1) {
|
||||
|
||||
init {
|
||||
require(itemWidth >= 0) { "itemWidth must be >= 0" }
|
||||
}
|
||||
|
||||
override fun onLayoutChildren(recycler: RecyclerView.Recycler?, state: RecyclerView.State?) {
|
||||
val width = width
|
||||
val height = height
|
||||
if (itemWidth > 0 && width > 0 && height > 0) {
|
||||
val totalSpace = if (orientation == VERTICAL) {
|
||||
width - paddingRight - paddingLeft
|
||||
} else {
|
||||
height - paddingTop - paddingBottom
|
||||
}
|
||||
spanCount = max(1, totalSpace / itemWidth)
|
||||
}
|
||||
super.onLayoutChildren(recycler, state)
|
||||
}
|
||||
}
|
@ -33,17 +33,18 @@ import com.simplemobiletools.keyboard.R
|
||||
import com.simplemobiletools.keyboard.activities.ManageClipboardItemsActivity
|
||||
import com.simplemobiletools.keyboard.activities.SettingsActivity
|
||||
import com.simplemobiletools.keyboard.adapters.ClipsKeyboardAdapter
|
||||
import com.simplemobiletools.keyboard.extensions.clipsDB
|
||||
import com.simplemobiletools.keyboard.extensions.config
|
||||
import com.simplemobiletools.keyboard.extensions.getCurrentClip
|
||||
import com.simplemobiletools.keyboard.extensions.getStrokeColor
|
||||
import com.simplemobiletools.keyboard.adapters.EmojisAdapter
|
||||
import com.simplemobiletools.keyboard.extensions.*
|
||||
import com.simplemobiletools.keyboard.helpers.*
|
||||
import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_DELETE
|
||||
import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_EMOJI
|
||||
import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_ENTER
|
||||
import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_MODE_CHANGE
|
||||
import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_SHIFT
|
||||
import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_SPACE
|
||||
import com.simplemobiletools.keyboard.interfaces.RefreshClipsListener
|
||||
import com.simplemobiletools.keyboard.media.emoji.Emoji
|
||||
import com.simplemobiletools.keyboard.media.emoji.parseRawEmojiSpecsFile
|
||||
import com.simplemobiletools.keyboard.models.Clip
|
||||
import com.simplemobiletools.keyboard.models.ClipsSectionLabel
|
||||
import com.simplemobiletools.keyboard.models.ListItem
|
||||
@ -51,7 +52,7 @@ import kotlinx.android.synthetic.main.keyboard_popup_keyboard.view.*
|
||||
import kotlinx.android.synthetic.main.keyboard_view_keyboard.view.*
|
||||
import java.util.*
|
||||
|
||||
@SuppressLint("UseCompatLoadingForDrawables")
|
||||
@SuppressLint("UseCompatLoadingForDrawables", "ClickableViewAccessibility")
|
||||
class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: AttributeSet?, defStyleRes: Int = 0) :
|
||||
View(context, attrs, defStyleRes) {
|
||||
|
||||
@ -153,6 +154,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
||||
|
||||
private var mToolbarHolder: View? = null
|
||||
private var mClipboardManagerHolder: View? = null
|
||||
private var mEmojiPaletteHolder: View? = null
|
||||
|
||||
// For multi-tap
|
||||
private var mLastTapTime = 0L
|
||||
@ -331,6 +333,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
||||
clipboard_content_placeholder_2.setTextColor(mTextColor)
|
||||
}
|
||||
|
||||
setupEmojiPalette(toolbarColor = toolbarColor, backgroundColor = mBackgroundColor, textColor = mTextColor)
|
||||
setupStoredClips()
|
||||
}
|
||||
}
|
||||
@ -364,6 +367,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
||||
fun setKeyboardHolder(keyboardHolder: View) {
|
||||
mToolbarHolder = keyboardHolder.toolbar_holder
|
||||
mClipboardManagerHolder = keyboardHolder.clipboard_manager_holder
|
||||
mEmojiPaletteHolder = keyboardHolder.emoji_palette_holder
|
||||
|
||||
mToolbarHolder!!.apply {
|
||||
settings_cog.setOnLongClickListener { context.toast(R.string.settings); true; }
|
||||
@ -412,6 +416,12 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
||||
}
|
||||
}
|
||||
}
|
||||
mEmojiPaletteHolder!!.apply {
|
||||
emoji_palette_close.setOnClickListener {
|
||||
vibrateIfNeeded()
|
||||
closeEmojiChooser()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun vibrateIfNeeded() {
|
||||
@ -436,7 +446,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
||||
* @return true if the shift is in a pressed state, false otherwise
|
||||
*/
|
||||
private fun isShifted(): Boolean {
|
||||
return mKeyboard?.mShiftState ?: SHIFT_OFF > SHIFT_OFF
|
||||
return (mKeyboard?.mShiftState ?: SHIFT_OFF) > SHIFT_OFF
|
||||
}
|
||||
|
||||
private fun setPopupOffset(x: Int, y: Int) {
|
||||
@ -450,7 +460,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
||||
private fun adjustCase(label: CharSequence): CharSequence? {
|
||||
var newLabel: CharSequence? = label
|
||||
if (newLabel != null && newLabel.isNotEmpty() && mKeyboard!!.mShiftState > SHIFT_OFF && newLabel.length < 3 && Character.isLowerCase(newLabel[0])) {
|
||||
newLabel = newLabel.toString().toUpperCase()
|
||||
newLabel = newLabel.toString().uppercase(Locale.getDefault())
|
||||
}
|
||||
return newLabel
|
||||
}
|
||||
@ -607,7 +617,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
||||
|
||||
if (code == KEYCODE_ENTER) {
|
||||
key.icon!!.applyColorFilter(mPrimaryColor.getContrastColor())
|
||||
} else if (code == KEYCODE_DELETE || code == KEYCODE_SHIFT) {
|
||||
} else if (code == KEYCODE_DELETE || code == KEYCODE_SHIFT || code == KEYCODE_EMOJI) {
|
||||
key.icon!!.applyColorFilter(mTextColor)
|
||||
}
|
||||
|
||||
@ -1372,6 +1382,92 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
|
||||
mClipboardManagerHolder?.clips_list?.adapter = adapter
|
||||
}
|
||||
|
||||
private fun setupEmojiPalette(toolbarColor: Int, backgroundColor: Int, textColor: Int) {
|
||||
mEmojiPaletteHolder?.apply {
|
||||
emoji_palette_top_bar.background = ColorDrawable(toolbarColor)
|
||||
emoji_palette_holder.background = ColorDrawable(backgroundColor)
|
||||
emoji_palette_close.applyColorFilter(textColor)
|
||||
emoji_palette_label.setTextColor(textColor)
|
||||
|
||||
emoji_palette_bottom_bar.background = ColorDrawable(backgroundColor)
|
||||
val bottomTextColor = textColor.darkenColor()
|
||||
emoji_palette_mode_change.apply {
|
||||
setTextColor(bottomTextColor)
|
||||
setOnClickListener {
|
||||
closeEmojiChooser()
|
||||
}
|
||||
}
|
||||
emoji_palette_backspace.apply {
|
||||
applyColorFilter(bottomTextColor)
|
||||
setOnTouchListener { _, event ->
|
||||
when (event.action) {
|
||||
MotionEvent.ACTION_DOWN -> {
|
||||
isPressed = true
|
||||
mRepeatKeyIndex = mKeys.indexOfFirst { it.code == KEYCODE_DELETE }
|
||||
mCurrentKey = mRepeatKeyIndex
|
||||
mOnKeyboardActionListener!!.onKey(KEYCODE_DELETE)
|
||||
// setup repeating backspace
|
||||
val msg = mHandler!!.obtainMessage(MSG_REPEAT)
|
||||
mHandler!!.sendMessageDelayed(msg, REPEAT_START_DELAY.toLong())
|
||||
true
|
||||
}
|
||||
MotionEvent.ACTION_UP -> {
|
||||
mHandler!!.removeMessages(MSG_REPEAT)
|
||||
mRepeatKeyIndex = NOT_A_KEY
|
||||
isPressed = false
|
||||
false
|
||||
}
|
||||
else -> false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
setupEmojis()
|
||||
}
|
||||
|
||||
fun openEmojiChooser() {
|
||||
mEmojiPaletteHolder!!.emoji_palette_holder.beVisible()
|
||||
setupEmojis()
|
||||
}
|
||||
|
||||
private fun closeEmojiChooser() {
|
||||
mEmojiPaletteHolder?.apply {
|
||||
emoji_palette_holder?.beGone()
|
||||
mEmojiPaletteHolder?.emojis_list?.scrollToPosition(0)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupEmojis() {
|
||||
ensureBackgroundThread {
|
||||
val fullEmojiList = parseRawEmojiSpecsFile(context, EMOJI_SPEC_FILE_PATH)
|
||||
val systemFontPaint = Paint().apply {
|
||||
typeface = Typeface.DEFAULT
|
||||
}
|
||||
val emojis = fullEmojiList.filter { emoji ->
|
||||
systemFontPaint.hasGlyph(emoji.value)
|
||||
}
|
||||
Handler(Looper.getMainLooper()).post {
|
||||
setupEmojiAdapter(emojis)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupEmojiAdapter(emojis: List<Emoji>) {
|
||||
val emojiItemWidth = context.resources.getDimensionPixelSize(R.dimen.emoji_item_size)
|
||||
val emojiTopBarElevation = context.resources.getDimensionPixelSize(R.dimen.emoji_top_bar_elevation).toFloat()
|
||||
|
||||
mEmojiPaletteHolder!!.emojis_list.apply {
|
||||
layoutManager = AutoGridLayoutManager(context, emojiItemWidth)
|
||||
adapter = EmojisAdapter(context = context, items = emojis) { emoji ->
|
||||
mOnKeyboardActionListener!!.onText(emoji.value)
|
||||
vibrateIfNeeded()
|
||||
}
|
||||
onScroll {
|
||||
mEmojiPaletteHolder!!.emoji_palette_top_bar.elevation = if (it > 4) emojiTopBarElevation else 0f
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun closing() {
|
||||
if (mPreviewPopup.isShowing) {
|
||||
mPreviewPopup.dismiss()
|
||||
|
10
app/src/main/res/drawable/ic_clear_outline_vector.xml
Normal file
10
app/src/main/res/drawable/ic_clear_outline_vector.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:autoMirrored="true"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.9,0.89 1.59,0.89h15c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM22,19L7.07,19L2.4,12l4.66,-7L22,5v14zM10.41,17L14,13.41 17.59,17 19,15.59 15.41,12 19,8.41 17.59,7 14,10.59 10.41,7 9,8.41 12.59,12 9,15.59z" />
|
||||
</vector>
|
@ -0,0 +1,18 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M15.5,9.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0" />
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M8.5,9.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0" />
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M12,18c2.28,0 4.22,-1.66 5,-4H7C7.78,16.34 9.72,18 12,18z" />
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M11.99,2C6.47,2 2,6.48 2,12c0,5.52 4.47,10 9.99,10C17.52,22 22,17.52 22,12C22,6.48 17.52,2 11.99,2zM12,20c-4.42,0 -8,-3.58 -8,-8c0,-4.42 3.58,-8 8,-8s8,3.58 8,8C20,16.42 16.42,20 12,20z" />
|
||||
</vector>
|
10
app/src/main/res/drawable/ripple_all_corners_medium.xml
Normal file
10
app/src/main/res/drawable/ripple_all_corners_medium.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:color="?android:attr/colorControlHighlight">
|
||||
<item android:id="@android:id/mask">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#000000" />
|
||||
<corners android:radius="@dimen/normal_margin" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
11
app/src/main/res/layout/item_emoji.xml
Normal file
11
app/src/main/res/layout/item_emoji.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/emoji_value"
|
||||
android:layout_width="@dimen/emoji_item_size"
|
||||
android:layout_height="@dimen/emoji_item_size"
|
||||
android:background="@drawable/ripple_all_corners_medium"
|
||||
android:gravity="center"
|
||||
android:textSize="@dimen/emoji_text_size"
|
||||
tools:text="😇" />
|
@ -105,6 +105,100 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/emoji_palette_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/toolbar_holder">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/emoji_palette_top_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/toolbar_height"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/emoji_palette_close"
|
||||
android:layout_width="@dimen/toolbar_icon_height"
|
||||
android:layout_height="@dimen/toolbar_icon_height"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="@dimen/medium_margin"
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/emojis"
|
||||
android:padding="@dimen/small_margin"
|
||||
android:src="@drawable/ic_arrow_left_vector" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/emoji_palette_label"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="@dimen/medium_margin"
|
||||
android:layout_toEndOf="@+id/emoji_palette_close"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:text="@string/emojis"
|
||||
android:textSize="@dimen/big_text_size" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/emoji_content_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@id/emoji_palette_bottom_bar"
|
||||
android:layout_below="@+id/emoji_palette_top_bar">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyRecyclerView
|
||||
android:id="@+id/emojis_list"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clipToPadding="false"
|
||||
android:padding="@dimen/small_margin" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/emoji_palette_bottom_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/toolbar_height"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/emoji_palette_mode_change"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginStart="@dimen/medium_margin"
|
||||
android:background="@drawable/keyboard_key_selector"
|
||||
android:padding="@dimen/normal_margin"
|
||||
android:text="@string/abc" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/emoji_palette_backspace"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="@dimen/medium_margin"
|
||||
android:background="@drawable/keyboard_key_selector"
|
||||
android:padding="@dimen/normal_margin"
|
||||
android:src="@drawable/ic_clear_outline_vector" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/clipboard_manager_holder"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -31,8 +31,11 @@
|
||||
<string name="show_popup">إظهار نافذة منبثقة عند الضغط على المفاتيح</string>
|
||||
<string name="vibrate_on_keypress">يهتز عند ضغط الزر</string>
|
||||
<string name="keyboard_language">لغة لوحة المفاتيح</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Show a popup on keypress</string>
|
||||
<string name="vibrate_on_keypress">Vibrate on keypress</string>
|
||||
<string name="keyboard_language">Keyboard language</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Show a popup on keypress</string>
|
||||
<string name="vibrate_on_keypress">Vibrate on keypress</string>
|
||||
<string name="keyboard_language">Keyboard language</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,8 +31,11 @@
|
||||
<string name="show_popup">Показване на изскачащ прозорец при натискане на клавиш</string>
|
||||
<string name="vibrate_on_keypress">Вибриране при натискане на клавиш</string>
|
||||
<string name="keyboard_language">Език на клавиатурата</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Mostra una finestra emergent en prémer les tecles</string>
|
||||
<string name="vibrate_on_keypress">Vibra en prémer les tecles</string>
|
||||
<string name="keyboard_language">Idioma del teclat</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,8 +31,11 @@
|
||||
<string name="show_popup">Zobrazit vyskakovací okno při stisknutí klávesy</string>
|
||||
<string name="vibrate_on_keypress">Vibrovat při stisknutí klávesy</string>
|
||||
<string name="keyboard_language">Jazyk klávesnice</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Vis en popup ved tastetryk</string>
|
||||
<string name="vibrate_on_keypress">Vibrér ved tastetryk</string>
|
||||
<string name="keyboard_language">Tastatursprog</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Ein Popup bei Tastendruck anzeigen</string>
|
||||
<string name="vibrate_on_keypress">Bei Tastendruck vibrieren</string>
|
||||
<string name="keyboard_language">Tastatursprache</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,8 +31,11 @@
|
||||
<string name="show_popup">Εμφάνιση ανάδυσης στο πάτημα πλήκτρων</string>
|
||||
<string name="vibrate_on_keypress">Δόνηση στο πάτημα πλήκτρου</string>
|
||||
<string name="keyboard_language">Γλώσσα πληκτρολογίου</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
-->
|
||||
</resources>
|
||||
</resources>
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Show a popup on keypress</string>
|
||||
<string name="vibrate_on_keypress">Vibrate on keypress</string>
|
||||
<string name="keyboard_language">Keyboard language</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Agrandar la tecla al pulsarla</string>
|
||||
<string name="vibrate_on_keypress">Vibrar al pulsar una tecla</string>
|
||||
<string name="keyboard_language">Idioma del teclado</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Klahvivajutusel näita hüpikakent</string>
|
||||
<string name="vibrate_on_keypress">Klahvivajutusel kasuta värinat</string>
|
||||
<string name="keyboard_language">Klavituuri keel</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Show a popup on keypress</string>
|
||||
<string name="vibrate_on_keypress">Vibrate on keypress</string>
|
||||
<string name="keyboard_language">Keyboard language</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Afficher une fenêtre contextuelle en cas de pression sur une touche</string>
|
||||
<string name="vibrate_on_keypress">Vibrer lorsqu\'une touche est pressée</string>
|
||||
<string name="keyboard_language">Langue du clavier</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Show a popup on keypress</string>
|
||||
<string name="vibrate_on_keypress">Vibrate on keypress</string>
|
||||
<string name="keyboard_language">Keyboard language</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Prikaži skočni prozor prilikom pritiskanja tipke</string>
|
||||
<string name="vibrate_on_keypress">Vibriraj prilikom pritiskanja tipke</string>
|
||||
<string name="keyboard_language">Jezik tipkovnice</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Show a popup on keypress</string>
|
||||
<string name="vibrate_on_keypress">Vibrate on keypress</string>
|
||||
<string name="keyboard_language">Keyboard language</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Tampilkan sebuah popup pada penekanan tombol</string>
|
||||
<string name="vibrate_on_keypress">Getar pada penekanan tombol</string>
|
||||
<string name="keyboard_language">Bahasa keyboard</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Mostra un popup alla pressione di un tasto</string>
|
||||
<string name="vibrate_on_keypress">Vibra premendo un tasto</string>
|
||||
<string name="keyboard_language">Lingua della tastiera</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">הצג חלון קופץ בלחיצת מקש</string>
|
||||
<string name="vibrate_on_keypress">רטט בלחיצה על המקש</string>
|
||||
<string name="keyboard_language">שפת מקלדת</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">キー入力時にポップアップを表示する</string>
|
||||
<string name="vibrate_on_keypress">キー入力時にバイブする</string>
|
||||
<string name="keyboard_language">キーボードの言語</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Show a popup on keypress</string>
|
||||
<string name="vibrate_on_keypress">Vibrate on keypress</string>
|
||||
<string name="keyboard_language">Keyboard language</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Show a popup on keypress</string>
|
||||
<string name="vibrate_on_keypress">Vibrate on keypress</string>
|
||||
<string name="keyboard_language">Keyboard language</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Pop-up tonen bij toetsaanslagen</string>
|
||||
<string name="vibrate_on_keypress">Trillen bij toetsaanslagen</string>
|
||||
<string name="keyboard_language">Toetsenbordtaal</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Pokazuj wyskakujące okienko przy naciśnięciu klawisza</string>
|
||||
<string name="vibrate_on_keypress">Wibracja przy naciśnięciu klawisza</string>
|
||||
<string name="keyboard_language">Język klawiatury</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Mostrar pop-up ao digitar</string>
|
||||
<string name="vibrate_on_keypress">Vibrar ao digitar</string>
|
||||
<string name="keyboard_language">Idioma do teclado</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Mostrar notificação pop-up ao premir tecla</string>
|
||||
<string name="vibrate_on_keypress">Vibrar ao premir tecla</string>
|
||||
<string name="keyboard_language">Keyboard language</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -4,7 +4,7 @@
|
||||
<string name="app_launcher_name">Tastatură</string>
|
||||
<string name="redirection_note">Vă rugăm să activați Simple Keyboard în ecranul următor, pentru a o face disponibilă. Apăsați \"Înapoi\" după activare.</string>
|
||||
<string name="change_keyboard">Schimbați tastatura</string>
|
||||
<!-- Clipboard -->
|
||||
<!-- Clipboard -->
|
||||
<string name="manage_clipboard_items">Gestionați elementele din clipboard</string>
|
||||
<string name="manage_clipboard_empty">Clipboard-ul dvs. este gol.</string>
|
||||
<string name="manage_clipboard_label">Odată ce ați copiat un text, acesta va apărea aici. De asemenea, puteți fixa clipuri pentru ca acestea să nu dispară mai târziu.</string>
|
||||
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Afișați o fereastră pop-up la apăsarea unei taste</string>
|
||||
<string name="vibrate_on_keypress">Vibrează la apăsarea tastelor</string>
|
||||
<string name="keyboard_language">Limba tastaturii</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Показ ввода по нажатию</string>
|
||||
<string name="vibrate_on_keypress">Вибрация по нажатию</string>
|
||||
<string name="keyboard_language">Язык клавиатуры</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Zobraziť detail znaku pri stlačení</string>
|
||||
<string name="vibrate_on_keypress">Vibrovať pri stlačení</string>
|
||||
<string name="keyboard_language">Jazyk klávesnice</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Visa en popupp vid knapptryck</string>
|
||||
<string name="vibrate_on_keypress">Vibrera på knapptryck</string>
|
||||
<string name="keyboard_language">Tangentbordsspråk</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Show a popup on keypress</string>
|
||||
<string name="vibrate_on_keypress">Vibrate on keypress</string>
|
||||
<string name="keyboard_language">Keyboard language</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Tuşa basıldığında bir açılır menü göster</string>
|
||||
<string name="vibrate_on_keypress">Tuşa basıldığında titret</string>
|
||||
<string name="keyboard_language">Klavye dili</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Показувати popup при натисканні</string>
|
||||
<string name="vibrate_on_keypress">Вібрувати при натисканні</string>
|
||||
<string name="keyboard_language">Мова клавіатури</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">按键时显示弹框</string>
|
||||
<string name="vibrate_on_keypress">按键时振动</string>
|
||||
<string name="keyboard_language">键盘语言</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -32,6 +32,9 @@
|
||||
<string name="show_popup">按下按鍵時顯示彈出效果</string>
|
||||
<string name="vibrate_on_keypress">按下按鍵時震動</string>
|
||||
<string name="keyboard_language">鍵盤語言</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
@ -8,8 +8,11 @@
|
||||
<dimen name="key_height">60dp</dimen>
|
||||
<dimen name="vertical_correction">-10dp</dimen>
|
||||
<dimen name="clip_pin_size">28dp</dimen>
|
||||
<dimen name="emoji_item_size">46dp</dimen>
|
||||
<dimen name="emoji_top_bar_elevation">4dp</dimen>
|
||||
|
||||
<dimen name="keyboard_text_size">22sp</dimen>
|
||||
<dimen name="preview_text_size">26sp</dimen>
|
||||
<dimen name="label_text_size">16sp</dimen> <!-- text size used at keys with longer labels, like "123" -->
|
||||
<dimen name="emoji_text_size">28sp</dimen>
|
||||
</resources>
|
||||
|
@ -31,6 +31,9 @@
|
||||
<string name="show_popup">Show a popup on keypress</string>
|
||||
<string name="vibrate_on_keypress">Vibrate on keypress</string>
|
||||
<string name="keyboard_language">Keyboard language</string>
|
||||
<!-- Emojis -->
|
||||
<string name="emojis">Emojis</string>
|
||||
<string name="abc">ABC</string>
|
||||
<!--
|
||||
Haven't found some strings? There's more at
|
||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||
|
Loading…
x
Reference in New Issue
Block a user