首页 > 其他分享 >Android带文字的ImageButton实现

Android带文字的ImageButton实现

时间:2023-06-11 10:03:28浏览次数:40  
标签:文字 LinearLayout ImageButton ll public import Android android View


实际上,ImageButton是不能添加文字的,所以我选择将ImageView控件和TextView控件封装在一个LinearLayout里面,整个LinearLayout就是一个按钮,然后对它监听单击等动作。



首先贴上layout.xml里面的布局设计:


	<LinearLayout
02	        android:layout_width="wrap_content"
03	        android:layout_height="wrap_content"
04	        android:orientation="vertical"
05	        android:id="@+id/bt">
06	        <ImageView
07	            android:id="@+id/ib"
08	            android:layout_width="wrap_content"
09	            android:layout_height="wrap_content"
10	            android:src="@drawable/ringlove"
11	            android:background="#00000000"
12	        />
13	        <TextView
14	            android:id="@+id/tv"
15	            android:layout_width="wrap_content"
16	            android:layout_height="wrap_content"
17	            android:text="@string/cs"
18	            android:paddingLeft="20px"
19	        />
20	</LinearLayout>

m_ll.setClickable(true);这句一定不能少)



	package com.droidX.wcs233;
02	  
03	import android.app.Activity;
04	import android.graphics.Color;
05	import android.os.Bundle;
06	import android.view.MotionEvent;
07	import android.view.View;
08	import android.view.View.OnClickListener;
09	import android.view.View.OnTouchListener;
10	import android.widget.LinearLayout;
11	import android.widget.Toast;
12	  
13	public class testActivity extends Activity {
14	    LinearLayout m_ll;
15	    /** Called when the activity is first created. */
16	    @Override
17	    public void onCreate(Bundle savedInstanceState) {
18	        super.onCreate(savedInstanceState);
19	        setContentView(R.layout.main);
20	        m_ll=(LinearLayout)findViewById(R.id.bt);
21	        m_ll.setClickable(true);
22	        m_ll.setOnClickListener(ocl);
23	        m_ll.setOnTouchListener(otl);
24	    }
25	      
26	    public OnClickListener ocl=new OnClickListener() {
27	          
28	        @Override
29	        public void onClick(View v) {
30	            // TODO Auto-generated method stub
31	            Toast.makeText(getApplicationContext(), "yes", Toast.LENGTH_SHORT).show();
32	        }
33	    };
34	      
35	    public OnTouchListener otl=new OnTouchListener() {
36	          
37	        @Override
38	        public boolean onTouch(View v, MotionEvent event) {
39	            // TODO Auto-generated method stub
40	            if(event.getAction()==MotionEvent.ACTION_DOWN)
41	            {
42	                m_ll.setBackgroundColor(Color.rgb(127,127,127));
43	            }
44	            else if(event.getAction()==MotionEvent.ACTION_UP)
45	            {
46	                m_ll.setBackgroundColor(Color.TRANSPARENT);
47	            }
48	            return false;
49	        }
50	    };
51	}

这样就可以了。



另外,为了使“按钮”美观,大家在选择图片的时候,尽量选择长宽不一样的,适合需要的比例,这样配着文字,刚好可以使“按钮”呈正方形。

标签:文字,LinearLayout,ImageButton,ll,public,import,Android,android,View
From: https://blog.51cto.com/u_16112859/6457052

相关文章

  • Android Studio 添加安卓虚拟设备时提示 No emulator installed
    在设置页面勾选两个工具即可,我遇到的情况是明明已经安装了这两个工具还是提示没有安装,于是我取消勾选把两个安装好的工具删除了,再勾选重新安装。果不其然就提示安装失败,不慌再试一遍,第二次安装过程中没报错了,再次添加安卓设备,成功启动了。 ......
  • Android Studio 2022.2.1 设置gradle依赖库
    AndroidStudio安装好后,随便创建一个项目编译时提示错误Plugin[id:'com.gradle.enterprise',version:'3.12.3',artifact:'com.gradle:gradle-enterprise-gradle-plugin:3.12.3']wasnotfoundinanyofthefollowingsources:网上查询显示的是gradle依赖库的问题,解决方......
  • Android 自定义View模板代码记录
    原文地址:Android自定义View模板代码记录-Stars-One的杂货小窝每次写自定义View,需要重写3个构造方法,如果使用AndroidStudio直接创建,会导致View代码过多,于是稍微删了点多余代码,搞一份简洁的模板代码供自己使用模版代码importandroid.content.Contextimportandroid.util.......
  • 前端vue实现页面加水印文字 单个页面所有页面加水印 水印颜色
    前端vue实现页面加水印文字,可以实现系统所有页面加水印,也可以单个页面加水印,可更改水印颜色, 下载完整代码请访问uni-app插件市场地址: https://ext.dcloud.net.cn/plugin?id=12889效果图如下:   ####使用方法```使用方法/*给系统所有页面加水印*///第一个......
  • 前端仿新浪新闻 tabs 选项卡tabs标签页,根据文字多少自适应 tab项宽度
    前端仿新浪新闻tabs选项卡tabs标签页,根据文字多少自适应tab项宽度, 下载完整代码请访问uni-app插件市场地址: https://ext.dcloud.net.cn/plugin?id=12876效果图如下:  实现代码如下:####使用方法```使用方法<!--v-model:选择序列tabs:选择数组myColor:下划线颜......
  • 1、android studio安装与配置
    1、各位小伙伴,安装Androidstudio之前一定要先安装jdb1.8,否则在Androidstudio时检测没有,会自动下载配置,非常卡非常满!jdk1.8的安装与配置文件如下:链接:https://pan.baidu.com/s/11lz8VklxLWKgtg2whxdiIQ提取码:azabAndroidstudio的安装与配置文件如下: ......
  • WebRTC回声消除示例(Android版)
    AndroidApp下载地址:https://gitcode.net/techinged/share/-/raw/master/android/echo_cancel/webrtc_echo_cancel(Android).zip或者https://kdocs.cn/l/ctpgZy0zRHbM1、将AndroidApp文件echo_cancel.apk安装到你的Android手机,Android版本要求在Android4.0(API14)或以上。安......
  • 海外直播源码技术文字聊天功能的配置
    今天我要分享的知识和我们日常生活中常用到的一个东西有关,它就是文字。目前已知发现我国最早的文字是距今5000多年的甲骨文,随着历史的发展,文字也在不断的发展,一直发展到我们现在所使用的文字。网络时代的到来,让文字进入到了网络中,在网上我们可以用文字去写文章、搜索问题、聊天等,其......
  • 海外直播源码技术文字聊天功能的配置
     今天我要分享的知识和我们日常生活中常用到的一个东西有关,它就是文字。目前已知发现我国最早的文字是距今5000多年的甲骨文,随着历史的发展,文字也在不断的发展,一直发展到我们现在所使用的文字。网络时代的到来,让文字进入到了网络中,在网上我们可以用文字去写文章、搜索问题、聊天......
  • 轻松解决 Eclipse Indigo 3.7 中文字体偏小,完美 Consolas 微软雅黑混合字体!
    Eclipse是著名的跨平台的自由集成开发环境(IDE)。6月22日Eclipse3.7正式发布,代号是Indigo。在Windows7下初始后化,发现界面变化不大,但中文字体却面目全非,小得根本看不见,而且也看起来很不爽。其实这是Eclipse的默认字体换了,以前的一直是CourierNew,这次eclipse用的字体是......