Private
Public Access
1
0

MessageEntryView: appearance tweaks

This commit is contained in:
2024-03-24 23:45:19 -07:00
parent c040e4e2d1
commit 8008406730
3 changed files with 37 additions and 21 deletions

View File

@@ -6,12 +6,18 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Scaffold import androidx.compose.material.Scaffold
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import net.buzzert.kordophonedroid.R import net.buzzert.kordophonedroid.R
import net.buzzert.kordophonedroid.ui.conversationlist.ConversationListItem import net.buzzert.kordophonedroid.ui.conversationlist.ConversationListItem
import net.buzzert.kordophonedroid.ui.conversationlist.ConversationListScreen import net.buzzert.kordophonedroid.ui.conversationlist.ConversationListScreen
import net.buzzert.kordophonedroid.ui.conversationlist.NoContentView import net.buzzert.kordophonedroid.ui.conversationlist.NoContentView
import net.buzzert.kordophonedroid.ui.messagelist.MessageEntry
import net.buzzert.kordophonedroid.ui.messagelist.MessageListItem import net.buzzert.kordophonedroid.ui.messagelist.MessageListItem
import net.buzzert.kordophonedroid.ui.messagelist.MessageMetadata import net.buzzert.kordophonedroid.ui.messagelist.MessageMetadata
import net.buzzert.kordophonedroid.ui.messagelist.MessageTranscript import net.buzzert.kordophonedroid.ui.messagelist.MessageTranscript
@@ -75,6 +81,16 @@ private fun MessageListScreenPreview() {
} }
} }
@Preview
@Composable
private fun MessageEntryPreview() {
var textState by rememberSaveable(stateSaver = TextFieldValue.Saver) {
mutableStateOf(TextFieldValue("Hello this is some text that might wrap multiple lines to show that there must be some padding here. "))
}
MessageEntry(onSend = {}, onTextChanged = {}, textFieldValue = textState)
}
// - No content // - No content
@Preview @Preview

View File

@@ -1,12 +1,13 @@
package net.buzzert.kordophonedroid.ui.messagelist package net.buzzert.kordophonedroid.ui.messagelist
import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.imePadding
import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.layout.width
import androidx.compose.foundation.text.BasicTextField import androidx.compose.foundation.text.BasicTextField
import androidx.compose.material.Button import androidx.compose.material.Button
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
@@ -15,6 +16,7 @@ import androidx.compose.material.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.shadow
import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.text.input.TextFieldValue
@@ -29,28 +31,24 @@ fun MessageEntry(
) { ) {
Row( Row(
modifier = Modifier modifier = Modifier
.background(MaterialTheme.colors.onSurface.copy(alpha = 0.18f))
.fillMaxWidth() .fillMaxWidth()
.padding(8.dp) .padding(vertical = 8.dp, horizontal = 12.dp)
.imePadding()
.navigationBarsPadding()
) { ) {
Surface( Surface(
shape = RoundedCornerShape(8.dp), shape = MaterialTheme.shapes.medium,
border = BorderStroke(1.dp, color = MaterialTheme.colors.onBackground.copy(0.4f)) modifier = Modifier.weight(1f)
) { .align(Alignment.CenterVertically)
Row(modifier = Modifier .shadow(4.dp)
.padding(horizontal = 8.dp)
.weight(1f)
.align(Alignment.Bottom)
.imePadding()
.navigationBarsPadding()
) { ) {
BasicTextField( BasicTextField(
value = textFieldValue, value = textFieldValue,
onValueChange = { onTextChanged(it) }, onValueChange = { onTextChanged(it) },
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.weight(1f) .padding(horizontal = 8.dp, vertical = 8.dp),
.align(Alignment.CenterVertically)
.padding(horizontal = 8.dp),
cursorBrush = SolidColor(MaterialTheme.colors.onBackground), cursorBrush = SolidColor(MaterialTheme.colors.onBackground),
textStyle = MaterialTheme.typography.body1.copy(MaterialTheme.colors.onBackground), textStyle = MaterialTheme.typography.body1.copy(MaterialTheme.colors.onBackground),
decorationBox = { textContent -> decorationBox = { textContent ->
@@ -66,11 +64,12 @@ fun MessageEntry(
textContent() textContent()
} }
) )
Button(onClick = onSend) {
Text(text = "Send")
}
} }
}
Spacer(Modifier.width(8.dp))
Button(onClick = onSend) {
Text(text = "Send")
}
} }
} }

View File

@@ -184,6 +184,7 @@ fun Messages(
LazyColumn( LazyColumn(
reverseLayout = true, reverseLayout = true,
state = scrollState, state = scrollState,
contentPadding = PaddingValues(vertical = 8.dp),
modifier = Modifier modifier = Modifier
.fillMaxSize() .fillMaxSize()
.padding(horizontal = 16.dp) .padding(horizontal = 16.dp)