Android 将非全屏图像用于启动屏幕

Android 将非全屏图像用于启动屏幕,android,xamarin.android,splash-screen,screen-density,Android,Xamarin.android,Splash Screen,Screen Density,我正在使用中描述的方法。它使用带有背景和图像的资源(图层列表)。在主题中用作windowBackground,此主题在活动中设置。现在我创建了所有的drawable文件夹,并在其中放置了不同大小的图像 现在我有这些问题: 在智能手机上的横向启动应用程序会导致一个黑色的启动屏幕(在平板电脑上它保持纵向) 不拍摄可绘制土地文件夹中的图像 在某些设备上,图像的大小应该更大 我应该以何种分辨率提供图像?图像的宽度应为显示宽度的三分之一。我该怎么办 我试着用三分之一的肖像大小作为参考,计算宽度。例如,

我正在使用中描述的方法。它使用带有背景和图像的资源(图层列表)。在主题中用作
windowBackground
,此主题在活动中设置。现在我创建了所有的
drawable
文件夹,并在其中放置了不同大小的图像

现在我有这些问题:

  • 在智能手机上的横向启动应用程序会导致一个黑色的启动屏幕(在平板电脑上它保持纵向)
  • 不拍摄
    可绘制土地
    文件夹中的图像
  • 在某些设备上,图像的大小应该更大
我应该以何种分辨率提供图像?图像的宽度应为显示宽度的三分之一。我该怎么办

我试着用三分之一的肖像大小作为参考,计算宽度。例如,对于HDPI,480的三分之一是144,但平板电脑的宽度是800(不是480)。因此,图像太小

此外,我不认为9补丁文件可以帮助我在这里。它只描述放大,但最小公分母将是尺寸为LDPI的图像。。。放大对文本徽标(自定义字体)效果不太好

我有什么选择

编辑:

在智能手机上的横向启动应用程序会出现一个黑色的启动屏幕(在平板电脑上它保持纵向):

添加断点后,将显示初始屏幕而不是黑屏。构建apk并安装在智能手机上是可行的。调试模式不可用

不拍摄
可绘制土地
文件夹中的图像

添加了
ConfigurationChanges=ConfigChanges.ScreenSize | ConfigChanges.Orientation)
,现在它们是


但我仍然不知道如何定义图像,这种方法确实会在屏幕上显示一定数量的图像。现在我提供了一个更大的图像(xhdpi到hdpi中).

您应该将这些图像放在mipmap文件夹中,而不是在drawable中。您必须将图像裁剪成三种尺寸的hpdi、ldpi和mdpi。这些是所有安卓设备的最佳选择。如果您想全屏显示图像,则可以定义android:background=“@mipmap/image”而不是android:windowBackground=“@mipmap/image”。为了防止splahscreen成为横向屏幕,您可以在活动中定义屏幕方向,如下所示:

<activity android:name=".Splash_Screen"
 android:screenOrientation="portrait">


如果您不知道图像ldi、hdpi和mdpi所需的分辨率,那么会有关于stackoverflow的问题,请用谷歌搜索!!希望对你有所帮助,并为糟糕的英语感到抱歉

mipmap
是否仅用于应用程序图标?我不想全屏显示图像。它可以是横向的,但是它应该从相应的文件夹中获取图像(例如,
drawable land hdpi
)。分辨率的问题在于密度(例如hdpi)不是一个固定值。相反,它的宽度从480px达到800px。现在我可以优化我的图像为480px,但它不适合800px。如果我把它改成800px,它就不适合480px等等。我可以提供一个高分辨率的图像,系统应该为我缩小它。这可能吗?怎么做?因为我是初学者,所以我对它了解不多。我使用全屏,将三个splash图像移动到mipmap文件夹内的hdpi、ldp和mdi中,用鼠标右键单击手动打开文件路径,而不是可绘制,在任何屏幕上都可以正常工作。我已经在Nexus选项卡中进行了测试。不,Android不会在所有屏幕上都显示所提供的图像,如果它这样做的话,例如hdpi将永远不会出现。。下面是我目前正在阅读的链接的所有解释:-)在我的例子中,我想使用一个图像,它应该占据一定的空间。我没有为我的案子找到解决办法。选择某个图标大小时,只有来自备选绘图表的信息非常有趣。