android自定义图片+文字控件四种实现方法,Android自定义“图片+文字”控件四种实现方法之 二--------个人最推荐的一种...
http://blog.csdn.net/yanzi1225627/article/details/8633872
第二种方法也要新建一个图片+文字的xml布局文件,然后写一个类继承自LinearLayout。在主程序里实例化并设置相应参数。这种方式也是我最推荐的一种。
第一部分:myimgbtn_layout.xml
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:alpha="20"
android:background="#87CE"
android:orientation="vertical"
>
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:paddingBottom="5dip"
android:paddingTop="5dip" />
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF6100"
android:textSize="30dip"
android:layout_gravity="center_vertical"/>
第二部分,与之布局相对应的MyImgBtn.java 文件:
package yan.guoqi.testimgbtn;
import android.content.Context;
import android.graphics.Color;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class MyImgBtn extends LinearLayout {
private ImageView mImgView = null;
private TextView mTextView = null;
private Context mContext;
public MyImgBtn(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
LayoutInflater.from(context).inflate(R.layout.myimgbtn_layout, 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);
}
// /*设置触摸接口*/
// public void setOnTouch(OnTouchListener listen){
// mImgView.setOnTouchListener(listen);
// //mTextView.setOnTouchListener(listen);
// }
}
第三部分,主布局main.xml:
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/main_background2">
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
android:id="@+id/MyIBtn_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:clickable="true"
android:focusable="true"
/>
第四部分,主程序:
package yan.guoqi.testimgbtn;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
public class TestImgBtnActivity extends Activity {
private MyImgBtn MyIBtn1 = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
MyIBtn1 = (MyImgBtn)findViewById(R.id.MyIBtn_1);
MyIBtn1.setImageResource(R.drawable.ic_launcher);
MyIBtn1.setText("欢迎光临");
MyIBtn1.setTextSize(24.0f);
//MyIBtn1.setOnTouch(new MyOnTouchListener());
MyIBtn1.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(TestImgBtnActivity.this,
"您好",
Toast.LENGTH_SHORT)
.show();
}
});
}
}
这种方法很直观简单,与之第一种用Gallery方法而言更容易理解。就是自定义一个类,第一种方法虽然不用自定义类,但是Gallery相关的适配器配置和那个View相关的如果第一次会不大习惯。这种效果也不错,图就不贴了。尤其适合做那种背景是纯色,里面嵌套图片+文字。就是360手机安全卫士的主窗口,大家可以看下。应该就是为这种方式做的。美中不足的是,360手机安全卫士的主窗口里,你点击一下,背景会变。也就是说这还缺少个onTouchListener,稍后我补上。
android自定义图片+文字控件四种实现方法,Android自定义“图片+文字”控件四种实现方法之 二--------个人最推荐的一种...相关推荐
- Android 常见界面控件(ListView、RecyclerView、自定义View篇)
Android 常见界面控件(ListView.RecyclerView.自定义View篇) 目录 3.3 ListView的使用 3.3.1 ListView控件的简单使用 3.3.2 常用数据适配 ...
- Android点击水波纹扩散效果整理(附带一个自定义的水波纹效果控件)
很久很久没有写博客了,说来也有点惭愧.正好最近整理自己的项目工程目录,看到一些值得分享的控件,准备在之后的几篇博客中准备把它们陆续搬运上来. 这篇博客准备整理一下Android Material De ...
- android从九宫格全屏预览,仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图...
AssNineGridView 仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图(可自定义). 写在前面 这是一个九宫格控件,本来是很久之前就写好了,现在才开源出来,也是看了很多优秀 ...
- android+高仿+日历,Android开源的精美日历控件,热插拔设计的万能自定义UI
UI框架应该逻辑与界面实现分离,该日历控件使用了热插拔的设计 ,简单几步即可实现你需要的UI效果,热插拔的思想是你提供你的实现,我提供我的插座接口,与自定义Behavior是一样的思想. 听说第一页无 ...
- Android 控件之RatingBar评分条(五星)自定义样式
RatingBar的自定义效果 有时候android系统提供给我们的ratingbar效果并不达到我们的要求,这个时候就可以自定义自己喜欢的ratingbar. 从上面的效果可以看出,自定义这样的组件 ...
- android自定义控件(6)-详解在onMeasure()方法中如何测量一个控件尺寸
今天的任务就是详细研究一下protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)方法.如果只是说要重写什么方法有什么 ...
- Android 开发 -- 开发第一个安卓程序、Android UI开发(布局的创建:相对布局和线性布局、控件单位:px pt dp sp、常用控件 、常见对话框、ListView)
文章目录 1. 开发第一个Hello World程序 1.1 开发程序 1.2 认识程序中的文件 1.3 Android程序结构 1.4 安卓程序打包 2. Android UI开发 2.1 布局的创 ...
- SAP UI5 应用开发教程之六十四 - 基于 OData V4 的 SAP UI5 表格控件如何实现 filter(过滤) 和 sort(排序)功能试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...
- Android 图片裁剪功能实现详解(类似QQ自定义头像裁剪)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mzh3344258.blog.51cto.com/1823534/808837 ...
最新文章
- linux运行jar文件
- linux系统vsftpd登陆慢卡怎么办
- TFS - Team Foundation Server 的安装记录
- 2021甘肃高考成绩查询时间几点,2021年甘肃高考成绩什么时候出来,今天几点钟出成绩可以查询...
- [vue] vue的is这个特性你有用过吗?主要用在哪些方面?
- 二进制、十进制、其他进制之间的转换
- var let const 区别
- Redis 处理客户端连接的一些内部实现机制
- poj 1655 Balancing Act(求树的重心)
- TYVJ1288 飘飘乎居士取能量块 -SilverN
- 攻防世界-Crypto-告诉你个秘密(键盘密码)-ISCC2017
- conda加速器mamba使用
- 领航优配|券商板块大幅走高,东方财富盘中涨超15%
- 高刷新率笔记本电脑将低刷新率显示器作为扩展屏
- jni调用java数组导致VM aborting,安卓程序莫名闪退
- imshow 显示图像(Matlab)
- 微软疑淡化邮件服务被黑事件;DOTA2 AI 2:0 完胜世界冠军
- English--七种句子成分概述
- 铁夫破词第二季总结(1)
- MongoDB-curd总结