小编ikn*_*now的帖子

Android Studio 在每个文件上显示 C++ 文件图标

将 Android Studio 更新为版本4.1后,项目中的每个文件图标都显示为一个C++图标。有没有办法修复这个?这是它的外观:

在此处输入图片说明

你可以看到每个文件,无论是什么扩展名,都有 在此处输入图片说明图标。我创建了新项目并检查了旧项目,但效果到处都是一样的。


就我而言,将 Android Studio 更新到 version 后错误消失了2020.3.1

android-studio

26
推荐指数
1
解决办法
1022
查看次数

Jetpack compose 检查函数是否已在预览模式下运行

是否可以检查某个函数是否已在 Jetpack compose 中以预览模式运行?我有一个函数返回一个正确的字符串以在应用程序中使用,但该函数使用一些禁用@Composable组件预览模式的对象。我可以做的是将val isPreview: Boolean = false标志传递给每个组件,然后运行一个简化的函数(如果标志是)true,但这会向每个可组合项添加一些样板代码。

android kotlin android-jetpack-compose

23
推荐指数
1
解决办法
7670
查看次数

Jetpack Compose LazyColumn 以编程方式滚动到 Item

有没有办法以编程方式滚动LazyColumn到列表中的某个项目?我认为可以通过提升LazyColumn参数来完成,state: LazyListState = rememberLazyListState()但我不知道如何更改此状态,例如单击按钮。

android kotlin android-jetpack-compose android-jetpack-compose-list

15
推荐指数
1
解决办法
4977
查看次数

如何在 Jetpack Compose 中按基线对齐行元素

如何Row按基线对齐 a 内的元素。我的问题是我想要一个Row包含多个Text元素的元素,并且每个Text元素都有不同的字体和大小。默认情况下,它们在顶部对齐。我需要它们在底部对齐。这是代码:

class MainActivity : ComponentActivity()  {
    override fun onCreate(savedInstanceState: Bundle?)  {
        super.onCreate(savedInstanceState)

        setContent {
            MaterialTheme {
                Row {
                    Text(
                        text = "Abrakadabra",
                        style = TextStyle(fontSize = 22.sp, fontWeight = FontWeight.Bold)
                    )
                    Text(
                        text = "Abrakadabra",
                        style = TextStyle(fontSize = 14.sp, fontWeight = FontWeight.Bold)
                    )
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是代码的渲染视图:

在此处输入图片说明

android android-layout kotlin android-jetpack android-jetpack-compose

12
推荐指数
1
解决办法
4954
查看次数

Jetpack compose 从资源中获取 FontFamily

在我这样res/font定义:font-family

<font-family xmlns:app="http://schemas.android.com/apk/res-auto">
    <font app:fontStyle="normal" app:fontWeight="400" app:font="xyz_1"/>
    <font app:fontStyle="normal" app:fontWeight="500" app:font="xyz_2"/>
</font-family>
Run Code Online (Sandbox Code Playgroud)

如何将其加载到 Jetpack Compose 中并将其用作FontFamily对象?

android android-theme android-jetpack-compose

8
推荐指数
2
解决办法
1万
查看次数

HiltViewModel:无法创建类的实例

我正在使用刀柄。更新后,1.0.0-alpha03我收到了@ViewModelInject已弃用的警告,我应该使用@HiltViewModel. 但是当我改变它时,我得到了一个错误:

java.lang.RuntimeException: Cannot create an instance of class com.example.LoginViewModel
...
Caused by: java.lang.NoSuchMethodException: com.example.LoginViewModel.<init> [class android.app.Application]
Run Code Online (Sandbox Code Playgroud)

以前我的 ViewModel 看起来像这样:

java.lang.RuntimeException: Cannot create an instance of class com.example.LoginViewModel
...
Caused by: java.lang.NoSuchMethodException: com.example.LoginViewModel.<init> [class android.app.Application]
Run Code Online (Sandbox Code Playgroud)

现在它看起来像这样:

class LoginViewModel @ViewModelInject constructor(
    application: Application,
    private val repository: RealtimeDatabaseRepository
) : AndroidViewModel(application)
Run Code Online (Sandbox Code Playgroud)

注入 ViewModel 的片段:

@HiltViewModel
class LoginViewModel @Inject constructor(
    application: Application,
    private val repository: RealtimeDatabaseRepository
) : AndroidViewModel(application)
Run Code Online (Sandbox Code Playgroud)

注入类:

@AndroidEntryPoint
class LoginFragment : Fragment(R.layout.fragment_login)
{
    private …
Run Code Online (Sandbox Code Playgroud)

android kotlin dagger-hilt

7
推荐指数
2
解决办法
2952
查看次数

当字符串位于数组中时,如何替换字符串中的最后一个字符

如果某个字符串以 in 中的字符结尾,arrayOf(X, Y, Z)我想将其替换为 new char A。我不知道该怎么做,我尝试过的一切都不起作用。

android kotlin android-studio

6
推荐指数
1
解决办法
4781
查看次数

以编程方式创建布局资源 Kotlin Android

我在尝试完全以编程方式制作此布局时遇到问题,每次进程运行结束时都没有成功并且应用程序崩溃。

我试图以编程方式创建的 XML 部分是:

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/idImagenPlay0"
            android:layout_width="62dp"
            android:layout_height="54dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="15dp"
            android:src="@drawable/ic_action_play" />
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:id="@+id/idNombre0"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="10dp"
                android:text="Description"
                android:textSize="25sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/idInfo0"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="15dp"
                android:layout_marginRight="10dp"
                android:text="Title" />

        </LinearLayout>

        <ImageView
            android:id="@+id/idImagenShare0"
            android:layout_width="54dp"
            android:layout_height="48dp"
            android:layout_alignParentRight="true"
            android:layout_marginRight="10dp"
            android:layout_marginTop="15dp"
            android:src="@drawable/ic_action_share" />
        </RelativeLayout>
    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下 kotlin 代码重新创建它:

fun createXmlElement(title:String,description:String){
    val parent = LinearLayout(this)
    parent.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
            LinearLayout.LayoutParams.WRAP_CONTENT)

    parent.orientation = LinearLayout.HORIZONTAL

    //children of parent linearlayout
    val iv = ImageView(this)
    val lp = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, …
Run Code Online (Sandbox Code Playgroud)

android android-layout kotlin android-studio

5
推荐指数
1
解决办法
1万
查看次数

从 Activity 返回时如何获取最后的 ListView 状态

我有一个自定义 ListView,其中有一些 TextView 和几个按钮。单击每个按钮时会打开一个新活动。
问题是,假设我当前正在查看第 15 个 ListView 项目并单击打开新活动的按钮。从活动返回时,ListView 返回到第一个项目,但我希望它从我离开开始新活动的视图(在本例中为第 15 个项目)恢复。我怎样才能做到这一点?

我是android开发的新手,所以不知道要搜索哪个关键字来解决这个问题!
任何帮助表示赞赏:)

android listview listviewitem android-listview android-activity

5
推荐指数
1
解决办法
57
查看次数

TopAppBar 与导航集成的支架

如何根据 NavController 中的实际位置显示TopAppBar使用中的导航图标(后退箭头或菜单)?Scaffold我正在使用Navigating with Compose 1.0.0-alpha02。下面是一个示例代码,描述了它应该如何工作

@Composable
fun App()
{
    val navController = rememberNavController()

    Scaffold(
        topBar = {
            TopAppBar(
                title = { Text(text = "App title") },
                navigationIcon = {

                    /*
                    Check if navController back stack has more
                    than one element. If so show BackButton.
                    Clicking on that button will move back
                     */

                    val canMoveBack = true

                    if (canMoveBack)
                    {
                        IconButton(onClick = {
                            // Move back
                            navController.popBackStack()
                        }) {
                            Icon(asset = Icons.Outlined.ArrowBack)
                        }
                    } …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-navigation android-jetpack-compose

5
推荐指数
1
解决办法
2541
查看次数