在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

android 文字写在图片上的更多相关文章

  1. ASP.NET MVC应用程序把文字写在图片上

    原文:ASP.NET MVC应用程序把文字写在图片上 Insus.NET实现这篇<MVC把随机产生的字符串转换为图片>http://www.cnblogs.com/insus/p/3624 ...

  2. Android开发经验之在图片上随意点击移动文字

    只要在图片范围之内,文字可随意点击移动. package xiaosi.GetTextImage; import android.content.Context; import android.con ...

  3. Android 使用Canvas在图片上绘制文字

    一个小应用,在图片上绘制文字,以下是绘制文字的方法,并且能够实现自动换行,字体自动适配屏幕大小 private void drawNewBitmap(ImageView imageView, Stri ...

  4. java给图片写正反字体,并将二维码写到图片上,代码实现

    /** * @param filePath * 源图片路径 * @param markContent * 图片中添加内容 * @param outPath * 输出图片路径 字体颜色等在函数内部实现的 ...

  5. PHP计算思源字体宽度, 并把文字绘制到图片上

    2019-6-19 9:18:54 星期三 思源字体是一套开源的字体, 那字体宽度是多少呢? 测试场景, 将包含汉字, 数字, 大小写字符的一段文字写到图片中去, 但不能出现超出的情况,  这就要计算 ...

  6. Swift - 给图片添加文字水印(图片上写文字,并可设置位置和样式)

    想要给图片添加文字水印或者注释,我们需要实现在UIImage上写字的功能. 1,效果图如下: (在图片左上角和右下角都添加了文字.) 2,为方便使用,我们通过扩展UIImage类来实现添加水印功能 ( ...

  7. android BadgeView的使用(图片上的文字提醒)

    BadgeView主要是继承了TextView,所以实际上就是一个TextView,底层放了一个label,可以自定义背景图,自定义背景颜色,是否显示,显示进入的动画效果以及显示的位置等等: 这是Gi ...

  8. Android模仿QQ空间图片上传——原理

    MainActivity.class package com.example.imagedemotext; import java.io.ByteArrayOutputStream; import j ...

  9. 使用Qpaint在图片上写文字

    开发过程中需要实现在图片上叠加文字,可以采用Qpaint在图片上写文字,然后将图片显示在上面.再将Qlabel加到Qwidget中.效果如下 //创建对象,加载图片 QPixmap pix; pix. ...

随机推荐

  1. WPF TabControl 模拟动画

    using System; using System.Threading; using System.Windows; using System.Windows.Controls; using Wan ...

  2. 运用加密技术保护Java源代码/定制ClassLoader

    为什么要加密? 对于传统的C或C++之类的语言来说,要在Web上保护源代码是很容易的,只要不发布它就可以.遗憾的是,Java程序的源代码很容易被别人偷看.只要有一个反编译器,任何人都可以分析别人的代码 ...

  3. GDB中应该知道的几个调试方法 来自陈皓

    GDB中应该知道的几个调试方法 2011年2月10日陈皓发表评论阅读评论62,325 人阅读   七.八年前写过一篇<用GDB调试程序>,于是,从那以后,很多朋友在MSN上以及给我发邮件询 ...

  4. lnmp一键安装包删除添加的域名

    lnmp一键安装包删除添加的域名 如果使用lnmp一键安装包/root/vhost.sh 添加的域名可以,可以删除/usr/local/nginx/conf/vhost/要删除的域名.conf 文件, ...

  5. SecureCRT光标颜色

    SecureCRT连linux光标一直没有,尤其是在vim编辑文档的时候特别麻烦,今天找出解决办法: 选项->会话选项->仿真:将ANSI颜色选中: 选项->会话选项->外观: ...

  6. Entity Framework CodeFirst数据迁移

    前言 紧接着前面一篇博文Entity Framework CodeFirst尝试. 我们知道无论是“Database First”还是“Model First”当模型发生改变了都可以通过Visual ...

  7. 用WP_Query自定义WordPress 主循环

    我们知道操作 WordPress 主循环(WordPress Loop)最容易的方法是使用 query_posts 函数. 但是使用 query_posts 直接修改 WordPress 默认的主循环 ...

  8. memcached工作原理

    1.Memcached处理的原子是每一个(key,value)对(以下简称kv对),key会通过一个hash算法转化成hash-key,便于查找.对比以及做到尽可能的散列.同时,memcached用的 ...

  9. java笔记--超级类Object多线程的应用+哲学家进餐算法内部类与多线程结合

    关于Object类中的线程方法: Object类是所有Java类的 父类,在该类中定义了三个与线程操作有关的方法,使得所有的Java类在创建之后就支持多线程 这三个方法是:notify(),notif ...

  10. Unity3d与iOS交互开发——接入平台SDK必备技能

    原地址:http://www.2cto.com/kf/201401/273337.html# 前言废话:开发手机游戏都知道,你要接入各种平台的SDK.那就需要Unity3d与iOS中Objective ...