Jetpack 编写代码以在单击文本时向下滚动到特定 UI 元素的位置

2024-03-10

我试图在单击文本时向下滚动到特定 UI 元素的位置。

我的文本的代码是:

                Text(
                "What is autosaving?",
                color = colorResource(id = R.color.text_highlight),
                fontSize = with(LocalDensity.current) {
                    dimensionResource(id = R.dimen._11ssp).toSp()
                },
                fontFamily = FontFamily(
                    Font(R.font.poppins_regular)
                ),
                modifier = Modifier.constrainAs(whatIsAutosaving) {
                    top.linkTo(glWhatIsAutoSaving)
                    start.linkTo(parent.start)
                    end.linkTo(parent.end)
                },
            )

单击此文本后,我的屏幕应滚动到另一个文本的开始位置。另一个文本的代码是:

        Text(
        stringResource(id = R.string.autosave_info),
        color = colorResource(id = R.color.bright_green),
        fontSize = with(LocalDensity.current) {
            dimensionResource(id = R.dimen._11ssp).toSp()
        },                fontFamily = FontFamily(
            Font(R.font.poppins_regular)
        ),
        modifier = Modifier.constrainAs(autoSaveInfo) {
            top.linkTo(glAutoSaveInfo)
            start.linkTo(glLeft)
            end.linkTo(glRight)
            width = Dimension.fillToConstraints
        },
    )

我该如何实现这一目标?

EDIT:

我的屏幕的完整代码是:

@Composable
fun Autosave(navController: NavController) {
    val query = remember { mutableStateOf("") }
    val errorMsg = remember { mutableStateOf(false) }

    Box(
        modifier = Modifier
            .background(color = MaterialTheme.colors.background)
            .fillMaxSize()
    ) {
        ConstraintLayout(
            modifier = Modifier.verticalScroll(rememberScrollState())

        ) {

            val (logo, illustration, title, triangle, slider, percent, maxLimitTxt,
                maxLimitTextField, buttonSave, whatIsAutosaving, autoSaveInfo, progressBar,
                detailsRow, iconUp, spacer, error) = createRefs()
            val glLogo = createGuidelineFromTop(0.0075f)
            val glIllustrationTop = createGuidelineFromTop(0.0235f)
            val glIllustrationBottom = createGuidelineFromTop(0.045f)
            val glIllustrationLeft = createGuidelineFromStart(0.27f)
            val glIllustrationRight = createGuidelineFromEnd(0.27f)
            val glTitle = createGuidelineFromTop(0.053f)
            val glSlider = createGuidelineFromTop(0.062f)
            val glMaxLimitTxt = createGuidelineFromTop(0.086f)
            val glMaxLimitTextField = createGuidelineFromTop(0.09f)
            val glButtonSaveTop = createGuidelineFromTop(0.11f)
            val glButtonSaveBottom = createGuidelineFromTop(0.12f)
            val glWhatIsAutoSaving = createGuidelineFromTop(0.125f)
            val glAutoSaveInfo = createGuidelineFromTop(0.175f)
            val glSpacer = createGuidelineFromTop(0.99f)
            val glLeft = createGuidelineFromStart(0.1f)
            val glRight = createGuidelineFromEnd(0.1f)
            val glRightIcon = createGuidelineFromEnd(0.825f)
            val glLeftTextField = createGuidelineFromStart(0.3f)
            val glRightTextField = createGuidelineFromEnd(0.3f)

            val coroutineScope = rememberCoroutineScope()
            val scrollState = rememberScrollState()
            var scrollToPosition  by remember { mutableStateOf(0F) }


            Image(
                painter = painterResource(id = R.drawable.effect_app_bg_720),
                contentDescription = "effect top",
                modifier = Modifier
                    .fillMaxSize()
                    .scale(1.325f)
            )

            Image(
                painter = painterResource(id = R.drawable.logo_voodlee),
                contentDescription = "logo", modifier = Modifier
                    .constrainAs(logo) {
                        top.linkTo(glLogo)
                        start.linkTo(parent.start)
                        end.linkTo(parent.end)
                    }
            )


            Image(
                painter = painterResource(id = R.drawable.img_autosaving),
                contentDescription = "autosave image",
                modifier = Modifier.constrainAs(illustration) {
                    top.linkTo(glIllustrationTop)
                    bottom.linkTo(glIllustrationBottom)
                    start.linkTo(glIllustrationLeft)
                    end.linkTo(glIllustrationRight)
                    width = Dimension.fillToConstraints
                    height = Dimension.fillToConstraints
                }
            )


            Text(
                "Set the percentage for autosaving",
                color = colorResource(id = R.color.bright_green),
                fontSize = with(LocalDensity.current) {
                    dimensionResource(id = R.dimen._13ssp).toSp()
                }, fontFamily = FontFamily(
                    Font(R.font.poppins_regular)
                ),
                modifier = Modifier.constrainAs(title) {
                    top.linkTo(glTitle)
                    start.linkTo(parent.start)
                    end.linkTo(parent.end)
                }
            )


            Image(
                painter = painterResource(id = R.drawable.ic_triangle_dn),
                modifier = Modifier
                    .height(39.dp)
                    .width(29.dp)
                    .constrainAs(triangle) {
                        top.linkTo(title.bottom)
                        start.linkTo(parent.start)
                        end.linkTo(parent.end)
                    },
                contentDescription = "triangle down"
            )


            Column(modifier = Modifier.constrainAs(slider) {
                top.linkTo(glSlider)
                start.linkTo(parent.start)
                end.linkTo(parent.end)

            }) {
                val context = LocalContext.current
                val customView = remember { com.shawnlin.numberpicker.NumberPicker(context) }
                // Adds view to Compose
                AndroidView({ customView }) { view ->
                    // View's been inflated - add logic here if necessary
                    with(view) {
                        orientation = HORIZONTAL
                        //dividerDrawable = ResourcesCompat.getDrawable(resources, R.drawable.bg_blue, null)
                        textColor =
                            ResourcesCompat.getColor(resources, R.color.slider_num_color, null)
                        selectedTextColor =
                            ResourcesCompat.getColor(resources, R.color.slider_num_color, null)
                        selectedTextSize = 120f
                        wheelItemCount = 6
                        value = 10
                        minValue = 0
                        maxValue = 99
                        layoutParams.width = MATCH_PARENT
                        setDividerColorResource(R.color.fade_green)
                        setDividerDistance(180)
                        setDividerThickness(10)

                    }
                }


                Text(
                    "%",
                    color = colorResource(id = R.color.bright_green),
                    fontSize = with(LocalDensity.current) {
                        dimensionResource(id = R.dimen._18ssp).toSp()
                    }, fontFamily = FontFamily(
                        Font(R.font.poppins_regular)
                    ),
                    modifier = Modifier
                        .align(CenterHorizontally)
                        .offset(y = (-5).dp)
                )

            }
            Text(
                "Max Limit per autosaving",
                color = colorResource(id = R.color.bright_green),
                fontSize = with(LocalDensity.current) {
                    dimensionResource(id = R.dimen._13ssp).toSp()
                },

                fontFamily = FontFamily(
                    Font(R.font.poppins_regular)
                ),
                modifier = Modifier.constrainAs(maxLimitTxt) {
                    top.linkTo(glMaxLimitTxt)
                    start.linkTo(parent.start)
                    end.linkTo(parent.end)
                }
            )


            TextField(
                value = query.value,
                onValueChange = { newValue -> query.value = newValue
                                  if (newValue != "")
                                  errorMsg.value = newValue.toInt() > 1500
                                },
                label = {
                    Text("    Amount",
                        color = colorResource(id = R.color.bright_green),
                        fontSize = with(LocalDensity.current) {
                            dimensionResource(id = R.dimen._15ssp).toSp()
                        },
                        textAlign = TextAlign.Center
                    )
                },
                textStyle = TextStyle(
                    textAlign = TextAlign.Center,
                    color = colorResource(id = R.color.bright_green),
                    fontFamily = FontFamily(Font(R.font.poppins_regular)),
                    fontSize = with(LocalDensity.current) {
                        dimensionResource(id = R.dimen._15ssp).toSp()
                    },
                ),
                modifier = Modifier.constrainAs(maxLimitTextField) {
                    top.linkTo(glMaxLimitTextField)
                    start.linkTo(glLeftTextField)
                    end.linkTo(glRightTextField)
                    width = Dimension.fillToConstraints
                },
                colors = TextFieldDefaults.textFieldColors(

                    backgroundColor = Color.Transparent,
                    unfocusedIndicatorColor = colorResource(id = R.color.bright_green),
                    focusedIndicatorColor = colorResource(id = R.color.bright_green)
                )
            )

             Text(
                    text =
                        "*Please enter amount less than Rs.1500",
                    fontSize = with(LocalDensity.current) {
                        dimensionResource(id = R.dimen._8ssp).toSp()
                    },
                    color = colorResource(id = R.color.voodlee_red),
                    modifier = Modifier
                        .padding(top = 8.dp)
                        .alpha(
                            if (errorMsg.value) {
                                1f
                            } else 0f
                        )
                        .constrainAs(error) {
                            top.linkTo(maxLimitTextField.bottom)
                            start.linkTo(parent.start)
                            end.linkTo(parent.end)
                        },
                )

            Button(
                onClick = {
                    navController.navigate("fourth_screen")
                },
                modifier = Modifier.constrainAs(buttonSave) {
                    top.linkTo(glButtonSaveTop)
                    bottom.linkTo(glButtonSaveBottom)
                    start.linkTo(glLeft)
                    end.linkTo(glRight)
                    width = Dimension.fillToConstraints
                    height = Dimension.fillToConstraints

                },
                colors = ButtonDefaults.buttonColors(backgroundColor = colorResource(id = R.color.voodlee_red))
            ) {
                Text(
                    "Save", color = colorResource(id = R.color.dark_blue),
                    fontSize = with(LocalDensity.current) {
                        dimensionResource(id = R.dimen._16ssp).toSp()
                    },
                )
            }

            Text(
                "What is autosaving?",
                color = colorResource(id = R.color.text_highlight),
                fontSize = with(LocalDensity.current) {
                    dimensionResource(id = R.dimen._11ssp).toSp()
                },
                fontFamily = FontFamily(
                    Font(R.font.poppins_regular)
                ),
                modifier = Modifier
                    .constrainAs(whatIsAutosaving) {
                        top.linkTo(glWhatIsAutoSaving)
                        start.linkTo(parent.start)
                        end.linkTo(parent.end)
                    }
                    .clickable {
                        coroutineScope.launch {
                            scrollState.animateScrollTo(scrollToPosition.roundToInt())
                        }
                    },
            )

            Text(
                stringResource(id = R.string.autosave_info),
                color = colorResource(id = R.color.bright_green),
                fontSize = with(LocalDensity.current) {
                    dimensionResource(id = R.dimen._11ssp).toSp()
                },                fontFamily = FontFamily(
                    Font(R.font.poppins_regular)
                ),
                modifier = Modifier
                    .constrainAs(autoSaveInfo) {
                        top.linkTo(glAutoSaveInfo)
                        start.linkTo(glLeft)
                        end.linkTo(glRight)
                        width = Dimension.fillToConstraints
                    }
                    .onGloballyPositioned { coordinates ->
                        scrollToPosition = coordinates.positionInParent().y
                    },
            )

            Row(
                modifier = Modifier
                    .padding(top = 40.dp, bottom = 50.dp)
                    .constrainAs(detailsRow) {
                        top.linkTo(autoSaveInfo.bottom)
                        start.linkTo(glLeft)
                        end.linkTo(glRight)
                        width = Dimension.fillToConstraints
                    },
            ) {
                Text(
                    text = "For more details",
                    color = colorResource(id = R.color.bright_green),
                    fontSize = with(LocalDensity.current) {
                        dimensionResource(id = R.dimen._11ssp).toSp()
                    },                     fontFamily = FontFamily(
                        Font(R.font.poppins_regular)
                    ),
                )

                Spacer(modifier = Modifier.padding(5.dp))
                Text(
                    text = "Click here",
                    color = colorResource(id = R.color.text_highlight),
                    fontSize = with(LocalDensity.current) {
                        dimensionResource(id = R.dimen._11ssp).toSp()
                    },
                    fontFamily = FontFamily(
                        Font(R.font.poppins_regular)
                    ),
                )
            }
            Image(
                painter = painterResource(id = R.drawable.ic_btn_upward),
                modifier = Modifier
                    .height(32.dp)
                    .constrainAs(iconUp) {
                        top.linkTo(detailsRow.bottom)
                        start.linkTo(glLeft)
                        end.linkTo(glRightIcon)
                        width = Dimension.fillToConstraints
                    },
                contentDescription = ""
            )
        
        Spacer(modifier = Modifier
            .padding(bottom = 50.dp)
            .constrainAs(spacer) {
                top.linkTo(glSpacer)
                start.linkTo(parent.start)
                end.linkTo(parent.end)
            },)
        
        }
        
        Card(
            Modifier
                .align(BottomCenter)
                .fillMaxWidth()
                .alpha(if (query.value == "") 1f else 0f),
                 backgroundColor  = MaterialTheme.colors.secondaryVariant

        ) {
            ProgressBar5UI(
                Modifier
                    .padding(start = 40.dp, end = 40.dp, top = 10.dp)

            )
        }

        Card(
            Modifier
                .align(BottomCenter)
                .fillMaxWidth()
                .alpha(if (errorMsg.value) 1f else 0f),
            backgroundColor  = MaterialTheme.colors.secondaryVariant

        ) {
            ProgressBar6UI(
                Modifier
                    .padding(start = 40.dp, end = 40.dp, top = 10.dp)

            )
        }

        Card(
            Modifier
                .align(BottomCenter)
                .fillMaxWidth()
                .alpha(if (query.value != "" && !errorMsg.value) 1f else 0f),
        backgroundColor  = MaterialTheme.colors.secondaryVariant

        ) {
            ProgressBar7UI(
                Modifier
                    .padding(start = 40.dp, end = 40.dp, top = 10.dp)

            )
        }
    }
}

使用约束布局时是否有任何特殊的方法可以在单击元素时滚动?


您可以使用onGloballyPositioned https://developer.android.com/reference/kotlin/androidx/compose/ui/layout/OnGloballyPositionedModifier修饰符检索可组合项的位置,然后使用该方法scrollState.animateScrollTo滚动到该位置。

就像是:

val coroutineScope = rememberCoroutineScope()
val scrollState = rememberScrollState()
var scrollToPosition  by remember { mutableStateOf(0F) }

Column(Modifier.verticalScroll(scrollState)) {
    Text(
        "Click here to scroll",
        modifier = Modifier.clickable {
            coroutineScope.launch {
                scrollState.animateScrollTo(scrollToPosition.roundToInt())
            }
        }
    )

    //...

    Text(
        "Target",
        modifier = Modifier.onGloballyPositioned { coordinates ->
            scrollToPosition = coordinates.positionInRoot().y
        }
    )
   
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jetpack 编写代码以在单击文本时向下滚动到特定 UI 元素的位置 的相关文章

  • IE8 和怪异模式

    IE8 是否像 IE6 7 一样以怪异模式运行 我有一个网页 其中有一些非常奇怪的代码 内容以填充和负边距居中 它在 IE6 7 和其他浏览器中可以正常工作 但在 IE8 中 内容区域的宽度只有一半并且不居中 怪异模式的标志 源代码在 DO
  • 如何在 Flutter 中对 RaisingButton 的颜色进行动画处理?

    我有一个RaisedButton 我想要animate它的颜色来自green to red 反之亦然 每次用户单击它时 这怎么能做到呢 您可以使用AnimatedContainer https api flutter dev flutter
  • 强制函数调用的顺序?

    假设我有一个抽象基类 并且我想要一个必须由派生类实现的纯虚方法 但我想确保派生方法以特定顺序调用函数 我可以做什么来强制执行它 I E base class virtual void doABC 0 virtual void A 0 vir
  • 从 Ruby 运行 shell 命令:在显示输出时捕获输出?

    我有个问题 我想从另一个 ruby 脚本运行一个 ruby 脚本并捕获它的输出信息 同时让它也输出到屏幕上 runner usr bin env ruby print Enter your password password gets ch
  • 用于将用户发送至设备应用商店上的应用评论页面的 URL

    为了将 iTunes App Store 置于最前面并打开它以显示应用程序的评论页面 要启动的 URL 是什么 我想将我的用户发送到 撰写评论 页面 其他一些 SO 答案提供了如下 URL 但它似乎不起作用 itms apps itunes
  • 如何在服务器上获取球衣日志?

    我正在使用球衣进行 REST WS 如何在服务器端启用球衣日志 很长的故事 我收到客户端异常 但我在 tomcat 日志中没有看到任何内容 它甚至没有到达我的方法 由于堆栈跟踪显示 toReturnValue 它确实从服务器获取了一些内容
  • Angular2排序数组用于在html中的*ngFor中显示

    我正在循环浏览所有帖子 li 当显示每个帖子的日期时 我会执行以下操作 post date date yyyy MM dd HH mm ss 我想要做的是按最新的第一个顺序显示所有帖子 我尝试过使用类似的管道 li li import Pi
  • 列表框:添加组合框作为项目?

    是否可以将列表框的每个项目都作为组合框 我需要这个 因为我将列表框设置为可检查 然后我需要让用户从列表中每个元素的不同选项中进行选择 Thanks 如果您不打算分发您的应用程序 那么您还可以查看 TreeView 控件 请参阅此示例 COD
  • 如何测试send_file烧瓶

    我有一个小型烧瓶应用程序 它需要上传一些图像并将它们转换为多页 tiff 没什么特别的 但是如何测试多个文件的上传和文件下载呢 我的测试客户端 class RestTestCase unittest TestCase def setUp s
  • CMake 中的 FindSDL2 发生了什么?

    我在游戏中使用 SDL2 我一直使用自定义 FindSDL2 cmake 因为标准 CMake 集中没有 然而 前段时间确实出现了有关 FindSDL2 的帖子 例子 红迪网帖子 https www reddit com r opengl
  • 捕获 SQLAlchemy 异常

    我可以使用什么捕获 SQLAlechmy 异常的上层异常 gt gt gt from sqlalchemy import exc gt gt gt dir exc ArgumentError CircularDependencyError
  • Pandas:如何删除以 nan 作为列名的多个列?

    根据标题 这是一个可重现的示例 raw data x this that this that this np nan np nan np nan np nan np nan np nan y np nan np nan np nan np
  • 如何在不显示父活动的情况下将一个全屏对话框片段替换为另一个全屏对话框片段?

    我有一个使用单个自定义 DialogFragment 类的活动 它的外观是数据驱动的 因此不同的调用看起来可能相当不同 它是 全屏 即 setStyle DialogFragment STYLE NO FRAME android R sty
  • 如何通过API退出Win32应用程序?

    我有一个使用 Win32 API 编写的 C Win32 应用程序 我希望强制它在其中一个函数中退出 有没有类似的东西Exit or Destroy or Abort 类似的东西会终止它吗 哎呀呀呀呀呀呀 不要做任何这些事情 exit 和
  • Apache Flink - “keyBy”中的异常处理

    由于代码错误或缺乏验证 进入 Flink 作业的数据可能会触发异常 我的目标是提供一致的异常处理方式 我们的团队可以在 Flink 作业中使用这种方式 而不会导致生产中出现任何停机 重启策略似乎不适用于此处 因为 简单的重启无法解决问题 我
  • 创建进程默认浏览器

    我目前正在使用 ShellExecute 打开 在用户浏览器中打开 URL 但在 Win7 和 Vista 中遇到了一些麻烦 因为该程序作为服务运行提升 我想获取线程 id 因此 ShellExecute 无法获取线程 id 因此我开始使用
  • 如何循环遍历颜色数组以更改按键背景(按下/向下)

    互联网 如果这与其他人没有什么关系 请原谅我 但我会将其留在这里 以防这是一个有效的问题 我正在尝试创建一个文本区域字段 其中用户每次按下键 a z 都会触发背景颜色更改 在数组中列出 我一直在用 JQuery 做这件事 我想我已经很接近了
  • SQL Express 上的 OLAP

    我想知道是否有任何桌面 OLAP 解决方案可以使用 SQL Express 因此不需要 Analysis Services 我的任务是找到一种方法让我们的客户能够制作 临时 报告 但其中绝大多数都是在 Sql Express 上 在以前的工
  • 如何使用 WinJS 以编程方式关闭 Win8 应用程序中的 MessageDialog?

    Here is 类似的问题 https stackoverflow com questions 12698666 how to close message dialog programmatically关于如何以编程方式关闭 Win8 应用
  • 如何根据当前日期时间发现财政年度?

    我需要基于当前或今天的日期时间的财政年度 假设我们认为今天的日期是10 April 2011 那么我需要输出为Financial Year 2012在某些情况下 我需要以短格式显示相同的输出FY12 我想以两种方式显示 在我们的要求中 考虑

随机推荐

  • CHAR_BIT=4 是 C 标准授权的可能值吗?

    我正在考虑一个非常具体的 现在无用的 处理器 称为saturn http en wikipedia org wiki HP Saturn 28microprocessor 29 该CPU的一个奇怪的特点是它的元素单位是半字节 4位 而不是字
  • C++ 获取 Process.GetCurrentProcess().SessionId

    在c 中 我们可以在Windows中使用此方法获取当前用户进程IDProcess GetCurrentProcess SessionId 我们如何在 C 中做到这一点 Call 获取当前进程ID https msdn microsoft c
  • 如何在上传前检查 iOS 应用程序大小 [重复]

    这个问题在这里已经有答案了 我希望能够在提交到应用程序商店之前检查我的应用程序的大小 更具体地说 我需要知道它是否会低于神奇的 20 MB 以允许蜂窝下载 因为该应用程序是为节日而创建的 这个问题很老了 但在我看来仍然相关 以下是我上传应用
  • 使用 PHP 检查 IPv4/IPv6 地址是否已启动

    我有一个 IPv4 地址 前任 172 19 20 21 我曾经这样做过 fs fsockopen ip port errno errstr 3 if fs error SSC is down return Redirect to gt w
  • ListGetAt 解析 CSV 文件时出现问题

    我有一个脚本 它从客户端读取 CSV 文件 并将这些值拆分为稍后将输入数据库的变量 这是当 CSV 中的列数少于所需的最小值时出现的错误 In function ListGetAt list index delimiters the val
  • 在python中手动绘制树状图

    我已经实现了一种算法来解决图中的聚类问题 我使用 python 库 python graph 来表示该图 现在 在计算的每一步 算法是迭代的 我必须绘制树状图的一部分 事实上 该算法是分裂的 从原始图开始计算簇的意义上来说 现在 我不知道用
  • “gprof”在特定代码行上花费的时间

    我一直在使用gprof分析器结合g 我的代码中有一个函数 它封装了与主要函数足够相关的几个行为部分 因此将它们分成自己的函数是没有意义的 我想知道在每个代码区域花费了多少时间 所以 如果你想象代码看起来像 function A A A B
  • C: IFS System() 漏洞

    出于教育原因 我必须利用 C 代码 该程序首先设置了egid 然后设置了漏洞system usr bin 命令 所以我在我的主目录中创建了一个 usr 可执行文件 并将路径设置为主目录PATH HOME PATH 我想将 bash 中的 I
  • 如何从字符串末尾获取数字

    我对 Ruby 还是个新手 有点卡住了 我需要从字符串末尾获取一个数字 假设我有字符串 potato85 我需要 85 数字中的位数可以有所不同 例如 potato8 potato8585 有什么方法可以分割字符串并获取第一部分和数字吗 使
  • JSON 概念与 JavaScript 和 PHP

    我需要有人来阐明这个问题 当一个人进行 AJAX 调用时 会调用一个 php 脚本 该脚本会回显 json encode 内容 以便 javascript 可以对其进行处理 注意 假设我们在 php 脚本中将 header 设置为 json
  • pudb调试器可以在windows上使用吗?

    我们有可能pudb http pypi python org pypi pudbWindows 上的 python 调试器 如果是 您如何安装并运行它 当我尝试使用安装它时ez setup http peak telecommunity c
  • ruby 如何处理 + 运算符?

    Ruby 不支持递增变量 例如variable 我看到这种行为 2 4 gives 6 事实上 任意数量的 两个变量之间的符号被视为一个单一的 ruby 是如何做到这一点的呢 既然 ruby 这样做了 是否可以将其视为不可用的原因 操作员
  • 同一个父辈下的2个看似独立的观点该如何互动

    请考虑以下场景
  • SQLite 错误:“无法将文本值转换为数值。”

    我找到了解决方法 但我对 Adob e Air 和 SQLite 遇到的问题完全感到困惑 一个UPDATE我认为在开发过程早期工作正常的查询突然开始失败并出现错误details could not convert text value to
  • Xamarin xml android:onClick 回调方法

    这是我的 XML 代码
  • 使路径在 Linux 和 Windows 上都有效

    我怎样才能确保这条路径 new Zend Log Writer Stream APPLICATION PATH logs app log 在linux和windows上都可以工作吗 在Linux中 路径分隔符是 在 Windows 中 可以
  • 通过 cmake 重用静态库的自定义 makefile

    我想这将是一个关于在 cmake 中包含具有现有 makefile 的库的通用问题 但这是我的背景 我正在尝试包括scintilla在另一个CMake项目中 我遇到以下问题 在 Linux 上 scintilla 有一个 makefile
  • C# RestSharp PUT 方法并发送原始字节 (protobuf)

    如何使用 HTTP PUT 方法发送字节数组 方法AddFile班级的RestRequest发送额外的标头 方法AddParameter需要一个Object type 我是怎么做的 byte data using var ms new Me
  • “运行方式 -> Android 应用程序”不再是我的 Eclipse 运行配置中的选项

    我在 Win7 机器上运行 Eclipse 3 7 2 我有 Android SDK 和 AVD 一切都运转良好 我有一个 Android 应用程序项目 已在 AVD 和真实 Android 设备上的模拟器下运行 亚行也运作良好 在某个时候
  • Jetpack 编写代码以在单击文本时向下滚动到特定 UI 元素的位置

    我试图在单击文本时向下滚动到特定 UI 元素的位置 我的文本的代码是 Text What is autosaving color colorResource id R color text highlight fontSize with L