本来想用Tabrow来布局一组上面是图片下面是文字说明的控件,可是发现Tabrow不像想象的那样简易,并且这几组之间的控件距离很差把握,在网上找了两种方法以供参照。html

方法1、利用RadioButton巧妙的实现布局

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:orientation="vertical">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:button="@null"

android:drawableTop="@drawable/vibrator48"

android:text="测试" />

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:button="@null"

android:drawableTop="@drawable/vibrator"

android:text="测试" />

利用RadioButton的配置参数drawableTop实现文字和图片的布局,固然还能够用drawablepadding来设置图片和文字的距离。相似的控件还有TextView、ChexBox等。可是好像他对太大的图片时,下面的文字不能居中显示。java

方法2、自定义控件

自定义控件是Android中玩得比较高级的一种思路,能够把布局作的很炫,可是实现起来天然会没有方法一那么方便。android

一、写布局文件

写一个图片和文字框的布局文件image_text_button.xml.推荐调试时将资源文件写进去,方便布局调试。ide

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:alpha="20"

android:orientation="vertical">

android:id="@+id/img"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:src="@drawable/vibrator"

android:scaleType="centerInside"

android:paddingBottom="2dip"/>

android:id="@+id/text"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:text="测试"/>

二、对应布局文件写一个类

写一个对应布局文件的类,这个类继承LinearLayout的ImageTextButton.java布局

package com.example.test;

import android.content.Context;

import android.util.AttributeSet;

import android.view.LayoutInflater;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.TextView;

public class ImageTextButton extends LinearLayout {

private ImageView mImgView = null;

private TextView mTextView = null;

private Context mContext;

public ImageTextButton(Context context, AttributeSet attrs) {

super(context, attrs);

LayoutInflater.from(context).inflate(R.layout.image_text_button, this, true);

mContext = context;

mImgView = (ImageView)findViewById(R.id.img);

mTextView = (TextView)findViewById(R.id.text);

}

/*设置图片接口*/

public void setImageResource(int resId){

mImgView.setImageResource(resId);

}

/*设置文字接口*/

public void setText(String str){

mTextView.setText(str);

}

/*设置文字大小*/

public void setTextSize(float size){

mTextView.setTextSize(size);

}

}

三、将自定义控件应用到布局文件中

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:orientation="horizontal" >

android:id="@+id/itbTest"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal" />

android:id="@+id/itbTest"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal" />

android:id="@+id/itbTest"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal" />

四、在Activity引用自定义控件

public class MainActivity extends Activity implements OnClickListener{

ImageView imageView;

Animation animation;

private long speed = 1200;

private ImageTextButton itbTest;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Log.i("jobschu", "onCreate");

itbTest = (ImageTextButton)findViewById(R.id.itbTest);

itbTest.setImageResource(R.drawable.vibrator);

itbTest.setText("测试");

itbTest.setTextSize(10);

itbTest.setOnClickListener(this);

}

}

android 图片文字布局,Android自定义控件图片+文字布局相关推荐

  1. Android自定义控件图片+文字布局

    原本想用Tabrow来布局一组上面是图片下面是文字说明的控件,但是发现Tabrow不像想象的那样简易,而且这几组之间的控件距离不好把握,在网上找了两种方法以供参照. 方法一.利用RadioButton ...

  2. android 图片文字布局,Android代码实现图片和文字上下布局

    在Android开发中经常会需要用到带文字和图片的button,下面来给大家介绍使用radiobutton实现图片和文字上下布局或左右布局.代码很简单就不给大家多解释了. 布局文件很简单,用来展示Ra ...

  3. androidstudio图片居中_[Android]Android 布局中如何让图片和文字居中显示?

    图片文字居中显示 **①组件TextView的属性 drawableTop ``` android:layout_width="match_parent" android:layo ...

  4. android动态设置文本居中显示图片,Android DrawableTextView图片文字居中显示实例

    在我们开发中,TextView设置Android:drawableLeft一定使用的非常多,但Drawable和Text同时居中显示可能不好控制,有没有好的办法解决呢? 小编的方案是通过自定义Text ...

  5. Android和服务端通过Socket收发文字图片的实现

    今天总结一下Android客户端和服务端通过Socket收发文字和图片的实现方式: 关于网络通信的基础知识这边就不赘述了,网上多的是,今天主要写一下实现的部分: 简单的描述Sokcket的通信主要有一 ...

  6. android图片放大失真,Android中解决图片文字放大失真的问题

    1 背景自适应且不失真问题的存在背景自适应且不失真问题的存在 制作自适应背景图片是 UI 开发的一个广泛问题 也是界面设计师渴望解决的问题 我 相信我们彼此都深有体会 比如 列表的背景图一定 但是列表 ...

  7. Android 自定义RadioButton 实现文字上下左右方向的图片大小设置

    好久没有更新博客,写这篇技术时,感觉很多东西生疏了好多.于是心有感慨:我们做技术的,要是长时间不搞技术,那就是被技术搞!所以攻守之间,大家谨慎思量. 冬天已过,放假出去玩耍时,看到两旁嫩嫩的树叶,想起 ...

  8. android 图片绑定按钮,Android编程实现给Button添加图片和文字的方法

    本文实例讲述了Android编程实现给Button添加图片和文字的方法.分享给大家供大家参考,具体如下: //为按钮添加图片和文字的方法 public Spanned getSpan(int id, ...

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

    只要在图片范围之内,文字可随意点击移动. [java] view plaincopy package xiaosi.GetTextImage; import android.content.Conte ...

最新文章

  1. Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别
  2. Java 数据类型转换
  3. java人工洗牌窗口程序_求解,用JAVA写洗牌与发牌模拟程序
  4. C中的qsort函数和C++中的sort函数的理解与使用
  5. java数组简单介绍以及其方法
  6. JAVA_day2_运算符
  7. Go语言Flag的简单示例
  8. 数据库误操作后悔药来了:AnalyticDB PostgreSQL教你实现分布式一致性备份恢复
  9. CSDN博客投票活动开始了
  10. 9.霍夫变换:圆——圆的算法、投票使用技巧、优点和缺点_2
  11. 【安卓深度控件开发(2.2)】LCDView - 进阶绘图
  12. c语言课程设计作业心得体会,c语言课程设计总结心得
  13. 北京航空航天大学经管学院《量化交易与大数据金融》课程实验 :自选至少5支基金,和一个大盘指数,比较这5支基金的信息比率
  14. 咸鱼前端—CSS浮动
  15. 索引合并和组合索引的比较
  16. 安装配置sublime text2 最全教程
  17. 问题1.“程序兼容性助手:无法在此设备上加载驱动程序” ——【“Usb-blaster”、“Hardlock.sys”】。问题2.“关闭内存完整性 后电脑开机一直循环重启,进不去window系统”
  18. 长江流向图_是长江水流向汉江 还是汉江水流向长江?
  19. 2022年国家高新技术企业认定最新规定及优惠政策重点介绍,补贴10-50万
  20. SOA BPEL ESB的前生后世:----作者:吕建伟

热门文章

  1. 重磅开源:TN文本分析语言
  2. Lesson 6   Smash-and-grab 砸橱窗抢劫
  3. hadoop 权威指南学习笔记ing(1)
  4. FireWire笔记
  5. 现代操作系统原理与实践02:硬件结构
  6. render注册一个链接组件_vue 动态加载并注册组件、 且通过 render动态创建该组件...
  7. mysql math.max_Math.max.apply()用法
  8. Java-java.util.concurrent.LinkedBlockingQueue
  9. hdfs用fileutil读取文件内容_MoviePy - 用Python玩转视频剪辑!(MoviePy安装及视频文件读取)
  10. java 内存分配实例_java内存管理实例讲解