当前位置:  开发笔记 > 编程语言 > 正文

如何使应用程序的背景图像重复

如何解决《如何使应用程序的背景图像重复》经验,为你挑选了4个好方法。

我在我的应用程序中设置了背景图像,但背景图像很小,我想重复它并填写整个屏幕.我该怎么办?


yanchenko.. 423

好的,这就是我在我的应用程序中得到的内容.它包括一个黑客,以防止ListView滚动时黑色.

drawable/app_background.xml:


    

values/styles.xml:




  

  

  


AndroidManifest.xml:

//

//

我试过这个,但看到只有单个瓷砖拉伸到所有屏幕:( (2认同)

@sabertabatabaeeyazdi您只需要这些文件夹中的图像.XML可以放在`drawable`(withoud` - *dpi`)文件夹中. (2认同)


Laszlo Lugos.. 170

可绘制的xml中有一个属性可以执行此操作.机器人:TILEMODE = "回头客"

查看此站点:http: //androidforbeginners.blogspot.com/2010/06/how-to-tile-background-image-in-android.html



1> yanchenko..:

好的,这就是我在我的应用程序中得到的内容.它包括一个黑客,以防止ListView滚动时黑色.

drawable/app_background.xml:


    

values/styles.xml:




  

  

  


AndroidManifest.xml:

//

//


我试过这个,但看到只有单个瓷砖拉伸到所有屏幕:(
@sabertabatabaeeyazdi您只需要这些文件夹中的图像.XML可以放在`drawable`(withoud` - *dpi`)文件夹中.

2> Laszlo Lugos..:

可绘制的xml中有一个属性可以执行此操作.机器人:TILEMODE = "回头客"

查看此站点:http: //androidforbeginners.blogspot.com/2010/06/how-to-tile-background-image-in-android.html


我真的不知道这是如此低评价.群体的本能?这是平铺背景的本机实现
+1只有一件事必须纠正在文章中错误地提到:`你需要将这个backrepeat.xml文件和相关图像添加到其中每一个以允许高,中和低dpi的这个功能.您只需将引用的drawable放在所有密度桶中.引用XML drawable可以放在`drawable`文件夹中,这就足够了.
这个就像一个魅力.这个似乎也是正确的方法.
我同意这应该是公认的答案.它非常简单,完美无缺!

3> plowman..:

这是一个重复的背景图像的纯java实现:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.bg_image);
    BitmapDrawable bitmapDrawable = new BitmapDrawable(bmp);
    bitmapDrawable.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
    LinearLayout layout = new LinearLayout(this);
    layout.setBackgroundDrawable(bitmapDrawable);
}

在这种情况下,我们的背景图像必须存储在res/drawable/bg_image.png中.


android.graphics.Shader
什么是Shader?
不推荐使用构造函数BitmapDrawable,这段代码不再适用.

4> 小智..:

扩展了plowman的答案,这里是使用java更改背景图像的非弃用版本.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Bitmap bmp = BitmapFactory.decodeResource(getResources(),
            R.drawable.texture);
    BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(),bmp);
    bitmapDrawable.setTileModeXY(Shader.TileMode.REPEAT,
            Shader.TileMode.REPEAT);
    setBackground(bitmapDrawable);
}

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有