构建Unity3d项目时缺少材质主题元素

时间:2015-06-16 19:05:37

标签: android unity3d android-theme appcompat-v7-r22.2

我有一个包含原生Android活动和UnityPlayer的项目。

该项目的设置使得我可以在Android Studio中进行Android UI工作,将项目构建为库,并通过特殊的" bootstrap"在Android工作室中执行。允许我通过Android Studio直接部署到我的设备的项目(Unity播放器在这种情况下不起作用)。

如果我想运行Unity播放器,我将库项目导出为.aar存档并将其放在我的Unity插件文件夹中。然后我通过Unity部署到我的设备 - >建设与发展运行

bootstrap项目不包含自己的类或样式,它只是在处理特定于Android的代码时启用快速部署的包装器。

在大多数情况下,这种方法运作得相当好。但是,我注意到引导程序构建和Unity构建之间的一些视觉差异。具体来说,android:elevation标记在应用中的任何位置都不起作用。另外 - 我的波纹可绘制按钮在一个小方块区域内动画,而不是在引导程序项目中可见的完整圆圈。请参阅下面的屏幕截图。

我的所有活动都继承自AppCompatActivity,我使用的是继承自Theme.AppCompat.Light.NoActionBar的自定义主题。我在运行5.1.1的Nexus 6和运行5.0的Nexus 9上进行了测试。我的最低SDK级别为15,目标SDK为22。

其他样式元素工作正常 - 主要/主要暗/重音颜色很好。如何使Unity构建看起来与原生Android构建相同?

Bootstrap构建截图

Full circle ripple

Elevation working

Unity构建屏幕截图

Cropped ripple

No elevation

styles.xml     

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
</style>

引导程序清单

<manifest package="<mypackage>.bootstrap"
      xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    tools:replace="android:icon"/>

</manifest>

图书馆项目清单

<manifest
package="<mypackage>"
xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0">

<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.INTERNET"/>

<uses-feature
    android:name="android.hardware.bluetooth_le"
    android:required="false"/>

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

    <!-- Activities and services -->
</application>

</manifest>

0 个答案:

没有答案