如何修复此代码中的弃用警告?或者,还有其他选择吗?
Handler().postDelayed({
context?.let {
//code
}
}, 3000)
Run Code Online (Sandbox Code Playgroud) 自 Jetpack 发布以来,我们一直在使用DataBinding。Android 文档表明ViewBinding已添加到Android Studio 3.6 Canary 11+ 中。
我阅读了文档,但它看起来类似于DataBinding。
谁能解释一下这两个概念之间的区别?
data-binding android android-databinding android-jetpack android-viewbinding
我尝试使用backgroundColor参数在 Android Jetpack Compose 中设置 Material3 卡的背景颜色。
实现 'androidx.compose.material3:material3:1.0.0-alpha14'
// * Card with background color argument
Card(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
//set background color of the card
backgroundColor = Color.Gray,
content = {
Text("Card with background color argument", modifier = Modifier.padding(16.dp),style = MaterialTheme.typography.labelLarge)
}
)
Run Code Online (Sandbox Code Playgroud)
android android-jetpack-compose android-jetpack-compose-material3
我正在尝试在 2 个片段 BlankFragment 和 BlankFragment2 之间使用共享元素动画。BlankFragment 有一个回收器视图,而 BlankFragment2 是一个详细信息屏幕。他们共享一张图片,而我正在使用新的导航组件。
在 BlankFragment 中,我正在使用共享图像的转换名称构建FragmentNavigator.Extras
附加内容并将其传递给我的调用navigate
(因为它是一个回收器视图,并且这些需要是唯一的),
在 BlankFragment2 中,我收到此名称,将其设置为我的图像并设置 setSharedElementEnterTransition
结果是进入动画工作正常但退出/返回没有,我试过设置它们而不是设置它们(因为我相信导航组件应该为我处理这个)有人可以帮忙吗?
MainActivity 导航设置
private void setNavigation() {
navController = Navigation.findNavController(this, R.id.main_fragment);
NavigationUI.setupActionBarWithNavController(this, navController);
}
Run Code Online (Sandbox Code Playgroud)
处理后退按钮
@Override
public boolean onSupportNavigateUp() {
return Navigation.findNavController(this, R.id.main_fragment).navigateUp()
|| super.onSupportNavigateUp();
}
Run Code Online (Sandbox Code Playgroud)
空白片段点击
@Override
public void onClick(View view, int position) {
NavController navController = Navigation.findNavController(recyclerView);
FragmentNavigator.Extras extras = new FragmentNavigator.Extras.Builder().addSharedElement(view, view.getTransitionName()).build();
BlankFragmentDirections.ActionBlankFragmentToBlankFragment2 directions = BlankFragmentDirections.actionBlankFragmentToBlankFragment2(view.getTransitionName());
navController.navigate(directions,extras);
}
Run Code Online (Sandbox Code Playgroud)
BlankFragment2 onCreate 带有返回/退出转换
@Override
public void onCreate(Bundle savedInstanceState) …
Run Code Online (Sandbox Code Playgroud) android android-transitions material-design shared-element-transition android-jetpack-navigation
有没有办法在 JetPack Compose Text 上使用android:autoLink功能?
我知道,在一个简单的标签/修饰符中使用此功能可能不是“声明性方式”,但也许有一些简单的方法?
对于文本样式我可以使用这种方式
val apiString = AnnotatedString.Builder("API provided by")
apiString.pushStyle(
style = SpanStyle(
color = Color.Companion.Blue,
textDecoration = TextDecoration.Underline
)
)
apiString.append("https://example.com")
Text(text = apiString.toAnnotatedString())
Run Code Online (Sandbox Code Playgroud)
但是,我该如何管理这里的点击呢?如果我以编程方式说出我期望系统(电子邮件、电话、网络等)的行为,那就太好了。喜欢它。与 TextView 一起使用。谢谢
下面的简单代码用于显示 Compose Snackbar
当 onClick 事件发生时,此代码正确显示 Snackbar。
val scaffoldState = rememberScaffoldState() // this contains the `SnackbarHostState`
val coroutineScope = rememberCoroutineScope()
Scaffold(
modifier = Modifier,
scaffoldState = scaffoldState // attaching `scaffoldState` to the `Scaffold`
) {
Button(
onClick = {
coroutineScope.launch { // using the `coroutineScope` to `launch` showing the snackbar
// taking the `snackbarHostState` from the attached `scaffoldState`
val snackbarResult = scaffoldState.snackbarHostState.showSnackbar(
message = "This is your message",
actionLabel = "Do something."
)
when (snackbarResult) {
SnackbarResult.Dismissed -> Log.d("SnackbarDemo", "Dismissed") …
Run Code Online (Sandbox Code Playgroud) I have a fragment A where an action is originated to fragment B which have to receive an argument. When I try to set the argument before navigate, 'FragmentADirections' class can't be resolve. The fact is, I have a fragment C going to D with an argument to and this work well for these two.
Fragment A class ('EntrainementAction'):
package com.example.androidsportsomveille.Fragments;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import …
Run Code Online (Sandbox Code Playgroud) navigation android android-studio android-architecture-navigation
我有一个像这样的材料切换按钮:
<com.google.android.material.switchmaterial.SwitchMaterial
android:id="@+id/effectEnabled"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
style="@style/ButtonStyle2"
android:checked="true"
android:enabled="true" />
Run Code Online (Sandbox Code Playgroud)
这是样式:
<style name="ButtonStyle2" parent="Base.Widget.AppCompat.Button">
<!--<item name="android:fontFamily">sans-serif-light</item>-->
<!--<item name="android:textStyle">bold</item>-->
<item name="android:textColor">@color/colorPrimary</item>
<item name="android:textSize">20sp</item>
<item name="android:textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
使用这些样式,按钮会损坏并带有灰色方形背景。
如何设置 SwitchMaterial 按钮的样式?我只想改变开关颜色
如何使用导航组件管理权限请求代码?
我引用了太多网站和堆栈链接,但没有一个起作用,仍然显示已弃用的 Waring
谷歌参考链接: https://developer.android.com/training/permissions/requesting#manage-request-code-yourself
代码::在片段中使用以下代码
private fun checkMultiplePermissions() {
// check permission first
if (ActivityCompat.checkSelfPermission(requireContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// request the permission
requestPermissions(arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), 100)
} else {
proceedAfterPermission() // has the permission.
}
}
override fun onRequestPermissionsResult(requestCode: Int,
permissions: Array<String>, grantResults: IntArray) {
myLog("log", "location code : $requestCode")
when (requestCode) {
100 -> {
// If request is cancelled, the result arrays are empty.
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted.
proceedAfterPermission() // …
Run Code Online (Sandbox Code Playgroud) android kotlin android-permissions android-architecture-components registerforactivityresult
android ×10
kotlin ×3
android-architecture-components ×1
android-architecture-navigation ×1
android-jetpack-compose-material3 ×1
data-binding ×1
java ×1
layout ×1
material-components-android ×1
menu ×1
navigation ×1
textview ×1