gpt4 book ai didi

android - 将可绘制对象添加到 ImageView

转载 作者:行者123 更新时间:2023-11-29 22:22:36 25 4
gpt4 key购买 nike

我在使用 Mono for Android 和在 ImageView 中添加可绘制对象作为背景图像或图像资源时遇到问题。我的可绘制文件夹中有一个名为 LogoLarge.png 的文件,我想显示它。它的 Build Action 设置为 AndroidResource。所以我试试这个:

<ImageView 
android:id="@+id/Logo"
android:src="@drawable/LogoLarge"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>

LogoLarge 资源在 Resource.Designer.cs 中被引用。 build 项目工作正常。当我尝试部署到模拟器时,我在构建输出中得到以下内容:

C:\Program Files (x86)\MSBuild\Novell\mandroid.exe -v --nosign --sdk-dir="C:\Android" --builddir="C:\Users\Vegard\Documents\Visual Studio 2010\Projects\HelloAndroid\HelloWorld2\obj\Debug\android" --framework-dir="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v2.2" --framework-dir="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0" -S="C:\Users\Vegard\Documents\Visual Studio 2010\Projects\HelloAndroid\HelloWorld2\obj\Debug\res" --package="HelloWorld2.HelloWorld2"   --nolink --abi="armeabi" --java-sdk-dir="C:\Program Files\Java\jdk1.6.0_26" --debug --manifest-template="C:\Users\Vegard\Documents\Visual Studio 2010\Projects\HelloAndroid\HelloWorld2\Properties\AndroidManifest.xml" --sdk-platform="8" "C:\Users\Vegard\Documents\Visual Studio 2010\Projects\HelloAndroid\HelloWorld2\bin\Debug\HelloWorld2.dll" "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v2.2\Mono.Android.dll" "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll" "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Core.dll" "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.dll" "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.dll" "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.Linq.dll" 
monodroid : error 1: System.NullReferenceException: Object reference not set to an instance of an object [C:\Users\Vegard\Documents\Visual Studio 2010\Projects\HelloAndroid\HelloWorld2\HelloWorld2.csproj]
at MonoDroid.Utils.ProcessRocks+<ReadStandardOutput>c__Iterator5.MoveNext () [0x00000] in <filename unknown>:0
at Monodroid.Toolbox.InvokeCommand (IEnumerable`1 commandLine) [0x00000] in <filename unknown>:0
at Monodroid.Toolbox.InvokeAapt (System.String packageName) [0x00000] in <filename unknown>:0
at Monodroid.Droidinator.CreatePackagedResources (System.Collections.Generic.List`1 javaTypes) [0x00000] in <filename unknown>:0
at Monodroid.Droidinator.CreateApk () [0x00000] in <filename unknown>:0
at Monodroid.MainClass.Main (System.String[] argv) [0x00000] in <filename unknown>:0
Done Building Project "C:\Users\Vegard\Documents\Visual Studio 2010\Projects\HelloAndroid\HelloWorld2\HelloWorld2.csproj" (SignAndroidPackage target(s)) -- FAILED.

如果我从 XML 文件中删除 android:src 属性,并将其放入我的 Activity1.cs 文件中,它会起作用:

ImageView i = FindViewById<ImageView>(Resource.Id.Logo);
i.SetImageResource(Resource.Drawable.LogoLarge);

当尝试使用 XML 中的 android:background="@drawable/SomeBackground" 为任何 View 设置背景图像时,也会出现同样的问题,但在以编程方式进行时工作正常。

这里发生了什么。这是 MonoDroid 中的错误吗?

最佳答案

我认为你的 LogoLarge 必须是 logolarge ,因为你只能在 drawables 中使用小写字母。

关于android - 将可绘制对象添加到 ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6761667/

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