Android Studio3.0。preView显示空白。不显示控件。但是可以编译,运行。

本文解决了Android Studio中预览界面为空白的问题。通过调整style文件中的主题设置,并确保buildToolsVersion与compileSdkVersion版本一致,最终实现了预览界面的正常显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android Studio 3.1上。preView显示的是一片空白。不显示控件。但是编译。运行到真机上又没有问题。

不知道原因。新建一个也是如此。缓存也清理了。电脑也重启了。没有任何作用。看到右上角有个小红圈。点击以后看到下面报错。

现在问题就简单了。复制错误信息。Failed to load AppCompat ActionBar with unknown error.去网上一搜。答案就出来了。

找到我们的style文件。把

修改成

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

再回去看布局。发现正常了。

苍蝇再小也是肉。万一有人需要呢。。。

可是每次新建一个项目都要去修改style总不太好。就想着去找下到底是为什么。经过查找资料。发现可能是buildToolsVersion版本和compileSdkVersion版本不一致。导致v7包导入不正确。解决办法如下:


可以看到。我的compileSdkVersion版本是28.可是我的build版本最大才到27.0.3(as2还是3以上buildToolsVersion可以不写。会用默认最大的。)。修改compileSdkVersion为27.编译版本选择27.0.3。然后点击ok。build失败。发现是v7包我用的是

implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'

于是修改v7包应用为:

implementation 'com.android.support:appcompat-v7:27.1.1'

sync。成功以后。把我的样式还修改为原来的:

parent="Theme.AppCompat.Light.DarkActionBar"

然后。新建一个布局。发现可以正常显示了。所以。问题应该就是没有28的编译版本。。。

原因:buildToolsVersion版本和compileSdkVersion版本不一致。

解决办法:修改compileSdkVersion和buildToolsVersion一致。

每日语录:

自己喜欢的东西就不要再征询他人意见了人生这点责任自己负
单曲循环《这些年来》


### 微信开发者工具 `preview` 显示空白的原因分析 在微信小程序开发过程中,如果遇到 `uni.previewImage()` 或者类似的图片预览功能无法正常工作的情况,通常可能由以下几个原因引起: #### 1. 图片路径问题 确保传递给 `urls` 参数的图片地址是有效的。如果图片路径正确或者可访问,则可能导致预览界面为空白。可以通过打印日志来验证图片路径是否正确[^3]。 ```javascript console.log(this.goods_info.pics.map(x => x.pics_big)); ``` #### 2. 权限设置问题 某些情况下,服务器端未配置跨域资源共享(CORS),可能会阻止前端加载资源。确认服务器允许来自微信小程序域名的请求,并且返回的响应头中包含正确的 CORS 设置[^1]。 #### 3. 开发者工具缓存 微信开发者工具可能存在缓存问题,尝试清除缓存并重启工具后再测试。具体操作方法是在开发者工具菜单中选择 **工具 -> 清除存储数据**[^2]。 #### 4. 版本兼容性 使用的 HBuilderX 和微信开发者工具版本较旧也可能引发未知 bug。建议升级至最新稳定版以获得更好的支持和修复已知问题。当前推荐版本分别为 HBuilderX 至少为 3.x 系列以及微信开发者工具至少为 1.06.x 及以上。 #### 示例代码调整 以下是经过优化后的 `preview` 函数实现方式,增加了错误处理逻辑以便于调试: ```javascript // 实现轮播图的预览效果 preview(i) { const urls = this.goods_info.pics.map(x => x.pics_big); if (!Array.isArray(urls) || urls.length === 0) { console.error(&#39;图片列表为空&#39;); return; } try { uni.previewImage({ current: i, urls: urls }); } catch (e) { console.error(&#39;预览失败:&#39;, e.message); } } ``` 通过上述改进可以更方便定位潜在问题所在。 --- ###
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值