• android jetpack compose


    package com.dl.testcompose
    
    import android.os.Bundle
    import android.util.Log
    import android.widget.Toast
    import androidx.activity.ComponentActivity
    import androidx.activity.compose.setContent
    import androidx.compose.foundation.Image
    import androidx.compose.foundation.background
    import androidx.compose.foundation.clickable
    import androidx.compose.foundation.gestures.detectTapGestures
    import androidx.compose.foundation.layout.*
    import androidx.compose.foundation.shape.CircleShape
    import androidx.compose.material.MaterialTheme
    import androidx.compose.material.Surface
    import androidx.compose.material.Text
    import androidx.compose.runtime.Composable
    import androidx.compose.ui.Modifier
    import androidx.compose.ui.draw.clip
    import androidx.compose.ui.graphics.Color
    import androidx.compose.ui.input.pointer.pointerInput
    import androidx.compose.ui.res.painterResource
    import androidx.compose.ui.tooling.preview.Preview
    import androidx.compose.ui.unit.dp
    import androidx.compose.ui.unit.sp
    import com.dl.testcompose.ui.theme.TestcomposeTheme
    
    class MainActivity : ComponentActivity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContent {
                TestcomposeTheme {
                    // A surface container using the 'background' color from the theme
                    Surface(modifier = Modifier.fillMaxSize(), color = MaterialTheme.colors.background) {
                        Greeting("Android","Wangjie")
                    }
                }
            }
        }
    }
    
    @Composable
    fun Greeting(name: String,fullname: String) {
    //    Text(text = "Hello $name!")
        Row(modifier = Modifier.padding(all = 8.dp)
            .background(Color.Green)) {
            Image(painter = painterResource(R.mipmap.logo),
                contentDescription = "Contact profile picture",
                modifier = Modifier
                    .size(40.dp)
                    .clip(CircleShape)
                    .pointerInput(Unit) {
                        detectTapGestures(
                            onPress = {
                                Log.i("LOG", "onTouch")
                            }, onTap = {
                                Log.i("LOG", "onClick")
                            }, onDoubleTap = {
                                Log.i("LOG","onDoubleClick")
                            }, onLongPress = {
                                Log.i("LOG","onLongClick")
                            }
                        )
                    }
            )
            Spacer(modifier = Modifier.width(8.dp))
            
            Column() {
                Text(text = "Hello $name!",
                    fontSize = 10.sp
                )
                Spacer(modifier = Modifier.height(4.dp))
                Text(text = "我是$fullname")
            }
        }
    }
    
    @Preview(showBackground = true)
    @Composable
    fun DefaultPreview() {
        TestcomposeTheme {
            Greeting("Android","Wangjie")
        }
    }
  • 相关阅读:
    mysql InnoDB事务
    mybatis-plus使用sql的date_format()函数来查询数据
    渗透流程
    【HMS Core】【SDK集成】如何解决集成华为分析SDK带来的隐私政策合规检测异常的问题
    WebRTC点对点通讯建立连接的流程
    餐饮行业软文怎么写吸引人?怎么打动人心
    C#SOLID原则(面向对象设计的准则)
    [机缘参悟-105] :得寸进尺是人的适应环境的体现,一个IT人的体悟
    文案生成-帮助我们应对文案创作过程中的痛点
    如何用看板工具做轻量级项目管理
  • 原文地址:https://blog.csdn.net/Sky_Cat/article/details/127572887