Я хочу отображать клавиатуру как на основном, так и на дополнительном дисплее.
Но клавиатура отображается на любом из дисплеев. Сообщите мне, есть ли способ отобразить клавиатуру на обоих дисплеях [с помощью клавиатуры Android по умолчанию]?
Фактическое поведение:
Когда я держу курсор на основном дисплее, отображается клавиатура.
Теперь, когда я удерживаю курсор на дополнительном дисплее, клавиатура закрывается на основном дисплее и отображается на дополнительном дисплее.
Ожидаемое поведение:
В обоих случаях дисплей, клавиатура должна дисплей.
Платформа: Android 12 и выше?
Если это невозможно, то как на нескольких дисплеях, таких как информационно-развлекательные системы, клавиатуры отображаются как на пассажирском, так и на центральном дисплее?
Приведенный ниже POC работает только на одном дисплее и не работает на другом дисплее. Есть ли какой-либо API для Android, который можно использовать, и дайте мне знать, как его использовать?
class MainActivity : AppCompatActivity() {
private lateinit var displayManager: DisplayManager
private lateinit var inputMethodManager: InputMethodManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Get display and input method managers
displayManager = getSystemService(Context.DISPLAY_SERVICE) as DisplayManager
inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
// Set up multiple displays
setupMultipleDisplays()
}
private fun setupMultipleDisplays() {
// Get all available displays
val displays = displayManager.displays
// Check if we have at least two displays
if (displays.size >= 2) {
try {
// Create presentation for the second display
val secondaryDisplay = displays[1]
val secondaryPresentation = SecondaryDisplayPresentation(this, secondaryDisplay)
secondaryPresentation.show()
// Set up input for both displays
setupDisplayInputs(displays)
} catch (e: Exception) {
e.printStackTrace()
}
}
}
private fun setupDisplayInputs(displays: Array) {
// Primary display input - use safe null check
val primaryEditText: EditText? = findViewById(R.id.primaryEditText)
primaryEditText?.setOnFocusChangeListener { view, hasFocus ->
if (hasFocus) {
showSoftInput(view, displays[0])
}
}
// Secondary display input - use safe null check
val secondaryEditText: EditText? = findViewById(R.id.secondaryEditText)
secondaryEditText?.setOnFocusChangeListener { view, hasFocus ->
if (hasFocus) {
showSoftInput(view, displays[1])
}
}
}
private fun showSoftInput(view: View, display: Display) {
// Show soft input keyboard on the specific display
view.requestFocus()
// Show soft input keyboard
inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT)
}
// Secondary display presentation
inner class SecondaryDisplayPresentation(
context: Context,
display: Display
) : Presentation(context, display) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.custom_keyboard)
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... in-android
Как отображать клавиатуру на двух дисплеях одновременно в Android? ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1733140206
Anonymous
Я хочу отображать клавиатуру как на основном, так и на дополнительном дисплее.
Но клавиатура отображается на любом из дисплеев. Сообщите мне, есть ли способ отобразить клавиатуру на обоих дисплеях [с помощью клавиатуры Android по умолчанию]?
Фактическое поведение:
Когда я держу курсор на основном дисплее, отображается клавиатура.
Теперь, когда я удерживаю курсор на дополнительном дисплее, клавиатура закрывается на основном дисплее и отображается на дополнительном дисплее.
Ожидаемое поведение:
В обоих случаях дисплей, клавиатура должна дисплей.
Платформа: Android 12 и выше?
Если это невозможно, то как на нескольких дисплеях, таких как информационно-развлекательные системы, клавиатуры отображаются как на пассажирском, так и на центральном дисплее?
Приведенный ниже POC работает только на одном дисплее и не работает на другом дисплее. Есть ли какой-либо API для Android, который можно использовать, и дайте мне знать, как его использовать?
class MainActivity : AppCompatActivity() {
private lateinit var displayManager: DisplayManager
private lateinit var inputMethodManager: InputMethodManager
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Get display and input method managers
displayManager = getSystemService(Context.DISPLAY_SERVICE) as DisplayManager
inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
// Set up multiple displays
setupMultipleDisplays()
}
private fun setupMultipleDisplays() {
// Get all available displays
val displays = displayManager.displays
// Check if we have at least two displays
if (displays.size >= 2) {
try {
// Create presentation for the second display
val secondaryDisplay = displays[1]
val secondaryPresentation = SecondaryDisplayPresentation(this, secondaryDisplay)
secondaryPresentation.show()
// Set up input for both displays
setupDisplayInputs(displays)
} catch (e: Exception) {
e.printStackTrace()
}
}
}
private fun setupDisplayInputs(displays: Array) {
// Primary display input - use safe null check
val primaryEditText: EditText? = findViewById(R.id.primaryEditText)
primaryEditText?.setOnFocusChangeListener { view, hasFocus ->
if (hasFocus) {
showSoftInput(view, displays[0])
}
}
// Secondary display input - use safe null check
val secondaryEditText: EditText? = findViewById(R.id.secondaryEditText)
secondaryEditText?.setOnFocusChangeListener { view, hasFocus ->
if (hasFocus) {
showSoftInput(view, displays[1])
}
}
}
private fun showSoftInput(view: View, display: Display) {
// Show soft input keyboard on the specific display
view.requestFocus()
// Show soft input keyboard
inputMethodManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT)
}
// Secondary display presentation
inner class SecondaryDisplayPresentation(
context: Context,
display: Display
) : Presentation(context, display) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.custom_keyboard)
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79243972/how-to-display-keyboard-in-two-display-at-a-time-in-android[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия