Andriod自定义按钮

SAP凭证替代与AC_DOCUMENT BADI:VF01/MIRO利润中心自动填充实战 在SAP ERP财务模块中,会计凭证的字段自动填充直接关系月结效率与数据准确性。VF01销售发票过账和MIRO采购发票校验生成FI凭证时,利润中心、功能范围等管理维度常因标准逻辑限制而空白或错误。凭证替代(Substitution)与AC_DOCUMENT BADI是解决此类问题的两种核心手段:前者通过GGB1/OBBH按条件直接替换字段,配置简单、维护成本低;后者提供代码级扩展,可跨表取数、动态赋值,适合复杂业务场景。从技术价值看,二者结合能显著减少手工干预,保障CO模块报表数据一致。从GGB1配置步骤、 阅读详情

作者:陈水宝

效果如图所示:(先设计好图片)



第一步,定义一个layout,实现按钮内部的布局。代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/iv"
    android:src="@drawable/confirm"
    android:paddingTop="5dip"
    android:paddingBottom="5dip"
    android:paddingLeft="40dip"
    android:layout_gravity="center_vertical"
    />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="确定"
    android:textColor="#000000"
    android:id="@+id/tv"
    android:layout_marginLeft="8dip"
    android:layout_gravity="center_vertical"
    />
</LinearLayout>

第三步,在需要使用这个自定义控件的layout中加入这控件,只需要在xml中加入即可。方法如下:


<RelativeLayout
         android:orientation="horizontal"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="bottom"
         >
         <com.notice.ib.ImageBt
             android:id="@+id/bt_confirm"
             android:layout_height="wrap_content"
             android:layout_width="wrap_content"
             android:layout_alignParentBottom="true"
             android:background="@drawable/btbg"
             android:clickable="true"
             android:focusable="true"
             />
         <com.notice.ib.ImageBt
             android:id="@+id/bt_cancel"
             android:layout_toRightOf="@id/bt_confirm"
             android:layout_height="wrap_content"
             android:layout_width="wrap_content"
             android:layout_alignParentBottom="true"
             android:background="@drawable/btbg"
             android:clickable="true"
             android:focusable="true"
            />
         </RelativeLayout>




第二步,写一个类继承LinearLayout,导入刚刚的布局,并且设置需要的方法,从而使的能在代码中控制这个自定义控件内容的显示。代码如下:


package com.notice.ib;
  
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 ImageBt extends LinearLayout {
  
    private ImageView iv;
    private TextView  tv;
  
    public ImageBt(Context context) {
        this(context, null);
    }
  
    public ImageBt(Context context, AttributeSet attrs) {
        super(context, attrs);
        // 导入布局
        LayoutInflater.from(context).inflate(R.layout.custombt, this, true);
        iv = (ImageView) findViewById(R.id.iv);
        tv = (TextView) findViewById(R.id.tv);
  
    }
  
    /**
     * 设置图片资源
     */
    public void setImageResource(int resId) {
        iv.setImageResource(resId);
    }
  
    /**
     * 设置显示的文字
     */
    public void setTextViewText(String text) {
        tv.setText(text);
    }
  
}


第四步,即在 activity中设置该控件的内容。当然,在xml中也可以设置,但是只能设置一个,当我们需要两次使用这样的控件,并且显示内容不 同时就不行了。在activity中设置也非常简单,我们在ImageBt这个类中已经写好了相应的方法,简单调用即可。代码如下:


public class MainActivity extends Activity {
  
    private ImageBt ib1;
    private ImageBt ib2;
  
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);
  
        ib1 = (ImageBt) findViewById(R.id.bt_confirm);
        ib2 = (ImageBt) findViewById(R.id.bt_cancel);
  
        ib1.setTextViewText("确定");
        ib1.setImageResource(R.drawable.confirm);
        ib2.setTextViewText("取消");
        ib2.setImageResource(R.drawable.cancel);
  
        ib1.setOnClickListener(new OnClickListener() {
  
            @Override
            public void onClick(View v) {
                    //在这里可以实现点击事件
            }
        });
  
    }
}


这样,一个带文字和图片的组合按钮控件就完成了。


Android技术知识点:如何实现自定义开关按钮 阅读详情

相关推荐

halcon 深度学习标注_Halcon deep learning之目标检测笔记(一)

设置输入输出的路径输入路径有两个,一个是图像路径HalconImageDir,一个是Json文件路径PillBagJsonFile。这两个参数用于后续在图像路径中读取coco文件。输出路径首先定义一个新的文件夹路径,用于存放样本和模型文件等数据。设置基于深度学习的目标检测模型的路径,该模型文件以.hdl结尾。设置样本数据文件夹ExampleDataDir:'detect_pills_data'数据...

weixin_27885313的博客 2699

android按钮中添加图标,android 控件 带图标的按钮(ImageButton)

1、继承关系和子类: 2、定义:mageButton就是用一个图标代表了一些文字的Button,它没Android:text属性。它由Android:src指定图标的位置android:src="@drawable/back_48",其他属性都和Button差不多。3、XML重要属性:参考Button Attributes, View Attributesandroid:src="@drawab...

weixin_33119123的博客 1342

基于STM32H750的便携式双通道示波器与信号发生器AFE设计

示波器和信号发生器是电子测量与嵌入式系统调试的基础仪器,其核心在于模拟前端(AFE)对宽动态范围、高精度采样与低失真输出的协同实现。原理上需兼顾输入信号调理(衰减/放大/偏置)、ADC/DAC接口匹配、触发同步及电源完整性设计。技术价值体现在以低成本器件达成±15V输入/±10V输出、16位等效采样精度与85kHz带宽的工程平衡。典型应用场景包括电机驱动波形观测、传感器信号验证、电源环路测试及通信电平分析。本方案聚焦STM32H750平台,深度融合硬件拓扑与片上资源特性,为嵌入式教学与原型开发提供可复现、易

weixin_35755188的博客 109

android给按钮添加图标,为Android应用添加图标

在Qt Creator中想要修改Android应用程序的图标,首先添加安卓配置文件。在“项目” > “套件”中点击“Creator Templates”安卓,创建Android配置文件。如下图:在Qt Create中打开 “AndroidManifest.xml” 文件,在右侧 “AndroidManifest.xml” 编辑页面的,分别点击 “Application icon” 对应的三个...

weixin_32641973的博客 2170

减小伺服电机共振的方法(以松下伺服为例)

嘿 ! 我是【小黄】 , 我们又见面啦 !!! 毕竟技术只有大家交流才会进步嘛 ! 这博客是对自己学习的一点点记录和总结 ,如果您对自动控制感兴趣的话 ,可以关注一下我的动态 , 我们一起学习呀 ! 我们都还年轻 ,我们还有无限可能 。 YES ! 减小伺服电机共振的方法(以松下伺服为例)1. 准备工作:1.1.1 如何推定共振点:1.1.2 测定实操:1.1.3 总结:2. 下期预告: 在我们调试完伺服参数以后机器人运动到某个特定位置会产生振动或异响,我们要做的就是消除这个异响保..

在下小黄的博客 1万+

钉钉宜搭低代码开发师高级认证考试题库113题

钉钉宜搭低代码开发师(高级)考试试题题库,多次考试收集整理,判断题,单选题,多选题,排版清晰,查找方便。希望能帮助到大家!!!

qq_40811920的博客 6397

Android学习之带图片的Button

在手机应用中,往往会看到这样子的图片: Button中有属性是可以带入图片,并设置位置的,但是偏偏Drawable Left,Drawable Top,Drawable Right,Drawable Top这四个属性放的图片都是在最旁边,像是这样: 所以,我整理两种通俗易懂,简单的方式来解决这个问题, 一、利用布局去配置,按钮在背后,前面在盖图片跟文字然后置中<RelativeLayo

jiapeng的专栏 1671

OpenCV-Python实战(26)——复杂场景下的实时物体检测与跟踪

本节介绍了一种鲁棒的特征跟踪方法,该方法速度足够快,能够实时应用于网络摄像头的视频流。首先,算法展示了如何在一幅图像中提取和检测重要特征——无论是我们感兴趣的模板图像(训练图像),还是预期包含该物体的更复杂场景(查询图像),这些特征都具有视角和尺寸不变性。然后对关键点进行聚类,找到两幅图像中特征点之间的匹配。在此基础上,可以计算出一个将一组特征点映射到另一组的透视变换矩阵。利用这些信息,我们可以在查询图像中勾勒出训练图像的轮廓,并对查询图像进行透视变换,使感兴趣的物体以直立状态显示在屏幕中央。

盼小辉丶的博客 1921

Android 开发笔记___图像按钮__imageButton

IMAGEBUTTON 其实派生自image view,而不是派生自button。,image view拥有的属性和方法,image button 统统拥有,只是imagebutton有个默认的按钮外观。 image button只能显示图形 imagebutton 上面的图片可按比例拉伸 只能在背景显示一张图形,但分别在前景和背景显示两张图片,实现图片叠加的效果 ...

weixin_30820151的博客 719

杰理AC696N系列芯片外部中断使用教程

本教程详细介绍了杰理AC696N芯片的GPIO引脚中断唤醒功能实现方法。主要内容包括: 功能特点: 支持任意GPIO引脚配置为中断源 可灵活选择上升沿或下降沿触发 提供自定义中断回调函数接口 核心实现: 通过port_wkup_interrupt_init()函数配置GPIO属性 使用request_irq()注册中断服务程序 提供中断使能/关闭接口 注意事项: 此功能在低功耗模式下无效 需注意引脚冲突和中断优先级设置 建议在回调函数中实现简洁的逻辑 应用场景: 按键检测 外部信号监测 事件触发等 本方案提

qq_42014563的博客 944

Python控制Keysight DAQ973A/DAQ970A实现数据采集

本文介绍了如何通过编程实现Keysight DAQ973A数据采集系统的自动化温度测量。首先,通过GPIB线将PC与仪器连接,并使用热电耦测量线连接被测装置。接着,通过查阅Keysight官网提供的编程手册,获取了实现温度测量所需的SCPI指令。然后,使用pyvisa库编写代码,与仪器进行交互,发送SCPI指令并读取测量结果。代码中整合了配置和查询指令,并将测量结果转换为浮点数格式。最后,将整个流程封装为命令行工具,用户可以通过配置文件设置参数,并执行自动化测试,测试结果将保存为CSV文件。整个过程实现了温

xgh1951的博客 1887

给Android按钮添加图标

Boss让我做一个APP的界面美化。我

levelmini的专栏 1万+

46.qt quick-自定义非常好看的qml虚拟软键盘-支持换肤、动态加载移除语言(二)

在上章我们学习了45.qt quick-qml虚拟软键盘详解(一)_诺谦的博客-优快云博客 接下来我们便来自定义一款好看的qml软键盘.如下图所示: 支持背景更换、支持动图: 支持动态加载移除语言: 支持拖拽、自由缩小放大: 支持定位坐标: ...

抵抗时间扭曲,坚持做一件有意义的事 4674

Andriod开发教程 andriod对话框

Andriod开发的时候的对话框怎么做呢?以下展示出了标准对话框、列表对话框和自定义对话框的做法: activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...

chufang3207的博客 187

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

andriod stdio 如何通过按钮保存textview的内容到txt文件中_Android弹性滑动在自定义View中的高级应用

​本文出自门心叼龙的头条号,属于原创内容,转载请注明出处。我们知道,在功能机时代我们在手机上的任何操作都是在键盘上完成的,只有通过键盘才能完成输入操作,只能通过键盘才能和手机交互,进入智能机时代以后我们所有操作都可以通过触摸屏的方式来完成,而我们最常见的操作就是滑动,手机屏幕和PC端的显示屏最大的区别就是,PC显示器屏幕很大,一屏可以显示跟多内容,而手机屏幕就小了很多,一屏幕所能显示的内容就非常有...

weixin_39925959的博客 380

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

android 自定义按钮

&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt; &amp;lt;shape xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; android:shape=&quot;rectangle&quot;&amp;gt;

weixin_40296676的博客 755

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

自定义按钮实现Android 返回按钮事件

直接上代码: public class BackActivity extends Activity implements OnClickListener{ private Button btnback; protected void onCreate(Bundle savedInstanceState) { //设置窗口title requestWindowFeature(Windo

路边水果摊 1475

Android自定义返回按钮

在网上找了很多关于调用系统返回的按钮,但都不成功,总是报空指针。 代码如下 onKeyDown(KeyEvent.KEYCODE_BACK, null); 说加上这么一句话就可以调用,但总是报空指针,不知道为什么, 有知道的吗? 后来上网上又找到了另一种方法实现,就是用Activity的跳转形式来实现,因为Activity多次跳转后,就相当于在一个栈中压入了很多的Activity,...

移动开发记录 573

Android自定义控件 _ 高可扩展单选按钮(再也不和产品经理吵架了)

等等,好像有点不太对劲!如果运行上述代码,你会发现每个Selector都运行良好(选中状态发生变化时有渐变动画),但多个Selector可以同时被选中,他们并没有实现互斥选中。。。定神一想,发现原因是Selector这个抽象只关心自己的选中状态,它并不知道其他Selector的状态。所以原生控件需要RadioGroup这个角色,它作为父亲,了解每个孩子的动向!但我们不想要一个ViewGroup类型的父亲,因为它管的太多,孩子不能随意布局,局限性大。那就造一个看不见的父亲!其实父亲做的事情不就是。

m0_60388216的博客 908

自定义view示例_Android按钮自定义示例

自定义view示例Button is a widget in android performs click event on the form i.e. for to submit the data in the database or to start/close some operations, button is being used. There are different types o...

cumtb2009的博客 393

编写一个简单的andriod注册页面,并跳转后显示注册信息

简单的andriod注册页面功能要求具体实现注册页面功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 功能要求 1.注册页面 (1)用户名 (2)密码,确认密码 (3)性别(单选) (4)学历 spinner (5)注册按钮 具体实

qq_45013261的博客 1万+

Andriod 实现一个微信聊天框(一)

Andriod 实现一个微信聊天框(一) 这周做了第一次Andriod作业,虽然是对着老师的视频桥的代码,还是遇到了相当多的技术问题和bug,再次记录一下解决问题的过程,以便于后期复习使用。 这次实验的目的是搭建一个类似微信聊天界面的安卓框架,并且实现简单的按钮点击切换页面的效果。   不多废话,先上代码   MainActivity: package com.example.jay10_8; import androidx.appcompat.app.AppCompatActivit

qq_44743615的博客 4428

Andriod更换背景颜色

通过按钮Button更换背景颜色 首先创建一个andriod项目,打开虚拟机 其次在Graphical Layout中添加一个button按钮,并将其更名为换背景 书写代码 在activity_main.xml中 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xml

by812的博客 747

Android笔记--自定义控件仿遥控器的圆形上下左右OK圆盘按钮

原文:Android笔记--自定义控件仿遥控器的圆形上下左右OK圆盘按钮 上面就是几张预览图!代码在最底下 主要就两个步骤,画图、监听点击 1、整个控件基本上是一步步画出来的,重写onDraw方法开始for循环画扇形出来,画扇形的时候同时画扇形内的图标,扇形画完了之后画中心圆按钮,中心画了圆之...

weixin_33834075的博客 1151

Andriod点击按钮响应方法

点击按钮响应有许多方法,比如下面这种: 布局layout.xml中定义一个id为button的按钮 &lt;Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" /&gt; 在活...

ACE的博客 325

Andriod开发基础篇精髓---如何实现不同界面的跳转

Andriod开发基础篇精髓—如何实现不同界面的跳转 上一篇博客是比较整体性的,很多细节并不是很清楚,这里讲一下我对跳转的看法吧,因为个人觉得,学会了怎么去跳转,一些很简单的画面就会了,毕竟我们这周要交GUI演示的视频,而不是照片 何为跳转 举个例子,比如我在这个界面有一个按钮button,我希望点击这个button之后,能够跳转到下一个界面 那么这个例子就拆分为了: 首先,在这个layo...

weixin_43589465的博客 1974
上一篇: 为我们的安卓app自动生成桌面快捷方式
下一篇: ContentProvider应用详解
pku_android
博客等级 码龄15年 450粉丝 151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值