android 文字写在图片上

在linearlayout中直接设置背景图片,背景图片会被拉伸。。

我们来试一下imagebutton

但是imagebutton无法添加文字。。

button能同时添加文字和图片但是图片比例没法控制好像。。

然后ImageView和ImageButton都有scaleType用来设置缩放的一些属性

(以前被relativelayout坑过。。反正最后得出的经验是从左到右,从上到下地声明元素,否则就会出现,出界的元素,或者说。。错位啥的)

目前我是用了relativelayout去解决了一下,因为是相对布局嘛。。开始口胡:

如果RL内部的view都没有指定它自己的相对位置信息,那我们就不知道把他们放到哪里,不过默认好像都是左上

那既然这样的话。。不就能重叠了么。。(重叠的顺序一般是先声明的在下面,后声明的在上面)

然后搞起。。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent"
    >
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/album_item"
        android:scaleType="centerInside"
        android:layout_centerHorizontal="true"
        />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="默认相册>"
        android:textSize="25sp"
        android:gravity="right"
        android:layout_marginRight="10dp"
        android:layout_marginTop="62.5dp"
   />
    <!--这里使用二分调整了一下dp值,那我们的jud函数就是我们自己的眼睛辣-->
</RelativeLayout>

最后margin_top这个值还是手动二分调出来的。。

不过呢还有其他的解决方法

比如这篇博客http://blog.csdn.net/lzqjfly/article/details/8589683

他是利用了Canvas重绘(大概是这样。。但是我对于Canvas和画笔一无所知。。c#学过一些类似的,无奈只会套模板)

其实主要问题就在于。。你不知道你当前画的这个玩意尺寸多大,下一个控件的中点想跟你这个控件的中点对齐都不知道跟

哪里对齐。。

嗯在讨论relativelayout时,我们要常常备着一个链接。。查看relativelayout都有哪些属性,这些属性都是干啥的。。

链接:http://www.jianshu.com/p/16894af17ea4

根本就跟中点。。鸟关系没有。。(目前是这样),不手算dp的话,那就得覆盖重绘方法了。。(这个玩意不能说成重载。。)

覆盖重绘,我们过两天搞吧。。

搜重绘的时候顺便搞懂了一个东西。。收藏一下连接

http://blog.sina.com.cn/s/blog_6e519585010152s5.html

还有一个android背景图按比例缩放的文章,他这个背景图是要fill全部的。。

他利用了Framelayout,这个好像没咋用过。。不懂。。。

连接:http://blog.csdn.net/only2xlr/article/details/44161283

 

posted @ 2016-11-06 19:54  狡啮之仰  阅读(3540)  评论(0编辑  收藏  举报