mirror of
https://github.com/amwatson/CitraVR.git
synced 2024-09-20 03:11:40 +02:00
updated keyboard formatting
This commit is contained in:
parent
412e1b9ac0
commit
09a1c55ce0
8 changed files with 41 additions and 22 deletions
|
@ -13,6 +13,7 @@ import org.citra.citra_emu.R
|
|||
import org.citra.citra_emu.fragments.KeyboardDialogFragment
|
||||
import org.citra.citra_emu.utils.Log
|
||||
import org.citra.citra_emu.vr.VrActivity
|
||||
import org.citra.citra_emu.vr.ui.VrKeyboardView
|
||||
import org.citra.citra_emu.vr.utils.VrMessageQueue
|
||||
import java.io.Serializable
|
||||
import java.security.Key
|
||||
|
@ -22,7 +23,6 @@ import java.security.Key
|
|||
object SoftwareKeyboard {
|
||||
lateinit var data: KeyboardData
|
||||
val finishLock = Object()
|
||||
var sConfig : KeyboardConfig = KeyboardConfig()
|
||||
|
||||
private fun ExecuteImpl(config: KeyboardConfig) {
|
||||
val emulationActivity = NativeLibrary.sEmulationActivity.get()
|
||||
|
@ -68,7 +68,7 @@ object SoftwareKeyboard {
|
|||
if (emulationActivity is VrActivity) {
|
||||
NativeLibrary.sEmulationActivity.get()!!.runOnUiThread {
|
||||
// Show keyboard
|
||||
sConfig = config
|
||||
VrKeyboardView.sVrKeyboardView.get()!!.setConfig(config)
|
||||
VrMessageQueue.post(VrMessageQueue.MessageType.SHOW_KEYBOARD, 1)
|
||||
}
|
||||
} else {
|
||||
|
@ -173,7 +173,7 @@ object SoftwareKeyboard {
|
|||
}
|
||||
}
|
||||
fun onFinishVrKeyboardPositive(text: String?, config: KeyboardConfig?) {
|
||||
Log.info("amwatson [SoftwareKeyboard] button positive: \"$text\"")
|
||||
Log.debug("[SoftwareKeyboard] button positive: \"$text\" config button: ${config!!.buttonConfig}")
|
||||
data = KeyboardData(config!!.buttonConfig, text!!)
|
||||
val error = ValidateInput(data.text)
|
||||
if (error != ValidationError.None) {
|
||||
|
|
|
@ -11,8 +11,10 @@ import android.widget.Button
|
|||
import android.widget.EditText
|
||||
import android.widget.LinearLayout
|
||||
import org.citra.citra_emu.R
|
||||
import org.citra.citra_emu.activities.EmulationActivity
|
||||
import org.citra.citra_emu.applets.SoftwareKeyboard
|
||||
import org.citra.citra_emu.utils.Log
|
||||
import java.lang.ref.WeakReference
|
||||
import java.util.Locale
|
||||
|
||||
class VrKeyboardView : LinearLayout {
|
||||
|
@ -40,22 +42,20 @@ class VrKeyboardView : LinearLayout {
|
|||
|
||||
private fun init(attrs: AttributeSet?, defStyle: Int) {
|
||||
mLayoutInflator = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
|
||||
|
||||
|
||||
sVrKeyboardView = WeakReference(this)
|
||||
}
|
||||
|
||||
override fun onFinishInflate() {
|
||||
super.onFinishInflate()
|
||||
mEditText = findViewById(R.id.vrKeyboardText)
|
||||
setConfig(SoftwareKeyboard.sConfig)
|
||||
showKeyboardType(KeyboardType.Abc)
|
||||
clearKeyboardState()
|
||||
}
|
||||
|
||||
// Call from UI thread
|
||||
fun setConfig(config: SoftwareKeyboard.KeyboardConfig) {
|
||||
val editText: EditText = findViewById(R.id.vrKeyboardText)
|
||||
assert(editText != null)
|
||||
/* editText!!.apply {
|
||||
assert(mEditText != null)
|
||||
clearKeyboardState()
|
||||
mEditText!!.apply {
|
||||
setHint(config!!.hintText)
|
||||
setSingleLine(!config.multilineMode)
|
||||
setFilters(
|
||||
|
@ -64,11 +64,18 @@ class VrKeyboardView : LinearLayout {
|
|||
InputFilter.LengthFilter(config.maxTextLength)
|
||||
)
|
||||
)
|
||||
}*/
|
||||
}
|
||||
setupResultButtons(config)
|
||||
mConfig = config
|
||||
}
|
||||
|
||||
private fun clearKeyboardState() {
|
||||
assert(mEditText != null)
|
||||
mEditText!!.setText("")
|
||||
mIsShifted = false // gets used in showKeyboardType
|
||||
showKeyboardType(KeyboardType.Abc)
|
||||
}
|
||||
|
||||
private fun setupResultButtons(config: SoftwareKeyboard.KeyboardConfig?) {
|
||||
// Configure the result buttons
|
||||
findViewById<View>(R.id.keyPositive).setOnTouchListener { _, event ->
|
||||
|
@ -248,6 +255,8 @@ class VrKeyboardView : LinearLayout {
|
|||
}
|
||||
|
||||
companion object {
|
||||
|
||||
var sVrKeyboardView = WeakReference<VrKeyboardView?>(null)
|
||||
private fun setKeyCaseForViewGroup(viewGroup: ViewGroup, isShifted: Boolean) {
|
||||
for (i in 0 until viewGroup.childCount) {
|
||||
val child = viewGroup.getChildAt(i)
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="true" android:color="@color/citra_onSecondaryContainer" /> <!-- Pressed color -->
|
||||
<item android:color="@color/citra_onSecondary" /> <!-- Default color -->
|
||||
</selector>
|
|
@ -2,14 +2,14 @@
|
|||
<!-- Pressed state -->
|
||||
<item android:state_pressed="true">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#707B7C"/> <!-- Pressed color -->
|
||||
<solid android:color="@color/citra_secondaryContainer"/> <!-- Pressed color -->
|
||||
<corners android:radius="4dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
<!-- Default state -->
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#A9B2B1"/> <!-- Default color -->
|
||||
<solid android:color="@color/citra_secondary"/> <!-- Default color -->
|
||||
<corners android:radius="4dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<!-- Pressed state -->
|
||||
<item android:state_pressed="true">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#DFA900"/> <!-- Pressed color -->
|
||||
<solid android:color="@color/citra_primaryContainer"/> <!-- Pressed color -->
|
||||
<corners android:radius="4dp"/>
|
||||
</shape>
|
||||
</item>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#1C1C1B"/>
|
||||
<corners android:radius="4dp" />
|
||||
<solid android:color="@color/citra_surface"/>
|
||||
<corners android:radius="20dp" />
|
||||
</shape>
|
||||
|
|
|
@ -15,28 +15,33 @@ app's packagename and returns information for the wrong window.-->
|
|||
android:id="@+id/vr_keyboard"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/citra_surface"
|
||||
android:background="@drawable/vr_menu_background"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginHorizontal="30dp"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical"
|
||||
android:paddingTop="40dp"
|
||||
android:theme="@style/ThemeOverlay.Citra.Dark">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="700dp"
|
||||
android:layout_height="30dp"
|
||||
android:orientation="horizontal"/>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/vrKeyboardText"
|
||||
style="@style/VrKeyboardEditText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/citra_onSurface"
|
||||
android:ems="10"
|
||||
android:layout_marginHorizontal="16dp"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:inputType="text" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/vr_keyboard_keyboard"
|
||||
android:layout_width="700dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
|
@ -47,6 +52,7 @@ app's packagename and returns information for the wrong window.-->
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<Button
|
||||
|
@ -56,7 +62,7 @@ app's packagename and returns information for the wrong window.-->
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="@android:string/ok"
|
||||
android:visibility="gone" />
|
||||
android:visibility="invisible" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/keyNeutral"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<style name="VrKeyboardButtonStyle" parent="Widget.Material3.Button">
|
||||
<item name="android:background">@drawable/vr_keyboard_key_background</item>
|
||||
<item name="android:textSize">18sp</item>
|
||||
<item name="android:textColor">@android:color/white</item>
|
||||
<item name="android:textColor">@color/vr_keyboard_key_text_color</item>
|
||||
<item name="android:padding">10dp</item>
|
||||
<item name="android:layout_margin">2dp</item>
|
||||
<item name="android:textAllCaps">false</item>
|
||||
|
@ -26,10 +26,10 @@
|
|||
|
||||
<style name="VrKeyboardButtonStyleModifier" parent="@style/VrKeyboardButtonStyle">
|
||||
<item name="android:background">@drawable/vr_keyboard_modifier_key_background</item>
|
||||
<item name="android:textColor">@color/citra_onPrimary</item>
|
||||
</style>
|
||||
|
||||
<style name="VrKeyboardEditText" parent="Widget.AppCompat.EditText">
|
||||
<item name="android:textColor">@android:color/white</item>
|
||||
<item name="android:textSize">16sp</item>
|
||||
<item name="android:padding">12dp</item>
|
||||
<item name="colorControlActivated">@color/citra_primary</item>
|
||||
|
|
Loading…
Reference in a new issue