Auto-Focus-BasicTextfield ohne Cursor-Jetpack komponierenAndroid

Forum für diejenigen, die für Android programmieren
Guest
 Auto-Focus-BasicTextfield ohne Cursor-Jetpack komponieren

Post by Guest »

Ich erstelle einen Bildschirm in Jetpack, komponieren Sie, wo ich möchte, dass ein BasicTextfield "aktiv" ist, sobald der Bildschirm geladen wird. Mit "aktiv", meine ich, dass das label nach oben animieren sollte (genau wie bei der Fokussierung des Feldes) und der -Plampel sichtbar sein sollte. Ich möchte jedoch nicht, dass der blinkende Cursor erscheint, bis der Benutzer tatsächlich mit dem BasictextField . /Code>, aber dieser Ansatz bringt den Cursor sofort zur Sprache, was nicht das gewünschte Verhalten ist. < /p>
Hier ist eine vereinfachte Version meines aktuellen Code: p> mainActivity.kt

Code: Select all

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.text.BasicTextField
import androidx.compose.foundation.text.input.TextFieldLineLimits
import androidx.compose.foundation.text.input.TextFieldState
import androidx.compose.foundation.text.input.rememberTextFieldState
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Text
import androidx.compose.material3.TextFieldDefaults
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp

class MainActivity : ComponentActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
val stateOne = rememberTextFieldState(initialText = "Hellow")
val stateTwo = rememberTextFieldState()
BasicTextFieldExamples(
stateOne,
remember { MutableInteractionSource() },
stateTwo,
remember { MutableInteractionSource() },
)
}
}

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun BasicTextFieldExamples(
stateOne: TextFieldState,
firstInteractionSource: MutableInteractionSource,
stateOTwo: TextFieldState,
secondInteractionSource: MutableInteractionSource,
) {
Column(
Modifier
.fillMaxSize()
.padding(50.dp)
) {
BasicTextField(
state = stateOne,
modifier = Modifier
.fillMaxWidth()
.height(56.dp),
readOnly = true,
interactionSource = firstInteractionSource,
decorator = TextFieldDefaults.decorator(
state = stateOne,
enabled = true,
label = {
Text("First Name")
},
placeholder = {
Text("Example 1")
},
lineLimits = TextFieldLineLimits.Default,
interactionSource = firstInteractionSource,
outputTransformation = null
)
)
BasicTextField(
state = stateOTwo,
modifier = Modifier
.fillMaxWidth()
.height(56.dp),
interactionSource = secondInteractionSource,
decorator = TextFieldDefaults.decorator(
state = stateOTwo,
enabled = true,
label = {
Text("Last Name")
},
placeholder = {
Text("Example 2")
},
lineLimits = TextFieldLineLimits.Default,
interactionSource = secondInteractionSource,
outputTransformation = null
)
)
}
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post