gpt4 book ai didi

Android 矢量可绘制应用程序 :srcCompat not showing images

转载 作者:IT老高 更新时间:2023-10-28 13:16:59 34 4
gpt4 key购买 nike

我正在使用支持库在 android kitkat 上显示矢量图像。当我在模拟器上测试我的应用程序时,我看不到任何这些图像。我为 android lollipop 及更高版本做了一个单独的布局,它运行良好(我认为因为我使用的是 src 属性而不是 srcCompat这是我使用支持的代码图书馆

<LinearLayout android:layout_alignParentBottom="true"
android:id="@+id/lake_detail"
android:background="@drawable/my_fishing_plan_footer_line"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="90dp"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<RelativeLayout
android:layout_marginRight="3dp"
android:id="@+id/fire_logo"
android:layout_width="20sp"
android:layout_height="20sp">

<ImageView
android:tint="#d74313"
app:srcCompat="@drawable/circle_icon"
android:layout_width="30sp"
android:layout_height="30sp" />

<ImageView
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
app:srcCompat="@drawable/lauzaviete"
android:layout_width="25dp"
android:layout_height="25dp" />

</RelativeLayout>

这很奇怪,因为我在 android studio 预览窗口中看到了图像。

最佳答案

原答案

在您的布局中使用 android.support.v7.widget.AppCompatImageView 而不是 ImageView,如下所示:

<LinearLayout 
...
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<android.support.v7.widget.AppCompatImageView
android:tint="#d74313"
app:srcCompat="@drawable/circle_icon"
android:layout_width="30sp"
android:layout_height="30sp" />

<android.support.v7.widget.AppCompatImageView
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
app:srcCompat="@drawable/lauzaviete"
android:layout_width="25dp"
android:layout_height="25dp" />
</LinearLayout>

请参阅 AppCompatImageView 文档 hereapp:srcCompat here .

另外,请确保执行以下操作:

设置您的 build.gradle

android {
defaultConfig {
vectorDrawables {
useSupportLibrary = true
}
}
}

文档:https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html#com.android.build.gradle.internal.dsl.VectorDrawablesOptions:useSupportLibrary

使用 AppCompatActivity

扩展您的 Activity
public final class MainActivity extends AppCompatActivity {    
@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);
}
}

使用 app:srcCompat 时,请确保布局中的声明正确:

<LinearLayout 
...
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
...
</LinearLayout>

可选(警告:请阅读文档):setCompatVectorFromResourcesEnabled 在您的 Application 类中

public class App extends Application {

@Override public void onCreate() {
super.onCreate();

// Make sure we use vector drawables
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
}

文档: https://developer.android.com/reference/android/support/v7/app/AppCompatDelegate.html#setCompatVectorFromResourcesEnabled(boolean)

关于Android 矢量可绘制应用程序 :srcCompat not showing images,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38221986/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com