img的lowsrc及图片预载思考

img的lowsrc是指当网速比较慢时,先加载一个小的图片,等大图加载完了再显示大图。

虽然现有的网速已经很快了,但是lowsrc的思想在提高用户体验上还是有很大好处,尤其是图片比较大的时候。

当然img的lowsrc没有出现在Web标准里面,那么如何去模拟呢?

主要有两种形式:

一、给img一个背景色或背景图片,这样也能达到类似的效果,虽然不是最理想的;

二、使用JS,实现上应该还是是比较容易的,以下是我的一种写法(当然不同的需求有不同的写法):

 
 
Code    View Print
  1. <script type="text/javascript">  
  2. function load_img(url,url_s,o) {  
  3.     var img = new Image();  
  4.     img.src = url;  
  5.     o.src=url_s;  
  6.    if (img.complete) {  
  7.         o.src=img.src;  
  8.         return;  
  9.     }  
  10.     img.onload = function () {  
  11.         o.src=img.src;  
  12.     };  
  13. };  
  14. </script>  
  15. <input type="button" value="开始加载" onclick="load_img('http://blog.xhlv.com/wp-content/uploads/2008/09/20080927_02.jpg','http://blog.xhlv.com/wp-content/uploads/2008/09/20080927_01.jpg',document.getElementById('img'))" />  
  16. <div><img src="" width="500" height="321" id="img"/></div>  

 

 

http://blog.xhlv.com/index.php/2008/09/27/img-preload-lowsrc/

当在Android应用中遇到"You need to use a Theme.AppCompat theme (or descendant) with this activity."这个错误时,这意味着你在创建或修改某个Activity的XML布局文件时,尝试使用了一个不兼容的的主题。AppCompat主题是Android Support Library的一部分,专为那些使用了较旧API版本但仍然需要新特性(如Action Bar)的应用设计的,它提供了对旧版本API的向下兼容。 解决这个问题通常需要按照以下步骤操作: 1. **检查XML布局**:确认你的Activity标签是否设置了`android:theme`属性,如果设置了,请检查其值是否为`Theme.AppCompat`或其子主题。例如: ```xml <activity android:name=".YourActivity" android:theme="@style/AppTheme"> ``` 如果没有,添加这个主题。 2. **更新样式文件**:如果你有一个单独的`.xml`样式文件(如`styles.xml`),确保`<style>`标签中定义的默认主题或者`<application>`下的主题也指向`Theme.AppCompat`。 3. **继承AppCompatActivity**:如果你的Activity不是直接继承自`Activity`而是其他类,考虑将父类改为`AppCompatActivity`,因为它内部已经包含了AppCompat所需的兼容性增强。 4. **添加依赖**:如果你还没有在build.gradle文件中的dependencies部分添加`appcompat-v7`库,记得添加: ```gradle implementation 'com.android.support:appcompat-v7:version_number' ``` 用实际的版本号替换`version_number`。 5. **运行并检查**:清理并重新构建项目,然后在模拟器或设备上运行,看看错误是否已经被修复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值