自定义带图片和文字的ImageTextButton

今天我们来讲一下有关自定义控件的问题,今天讲的这篇是从布局自定义开始的,难度不大,一看就明白,估计有的同学或者开发者看了说,这种方式多此一举,但是小编我不这么认为,多一种解决方式,就多一种举一反三的学习。下一次或者过几天我会从自定义属性,在布局文件中使用属性的方式再讲一篇关于自定义控件的文章,希望对大家能够有所帮助。

现在开始讲自定义带图片和文字的ImageTextButton的实现方法。

效果图如下:

第一步:新建一个image_text_buttton.xml的布局文件,供自定义的控件使用

[html] view plain copy

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content"
  5. android:orientation="vertical" >
  6. <ImageView
  7. android:id="@+id/iv"
  8. android:layout_width="wrap_content"
  9. android:layout_height="wrap_content"
  10. android:layout_gravity="center_horizontal"
  11. android:layout_marginTop="12dp" />
  12. <TextView
  13. android:id="@+id/tv"
  14. android:layout_width="wrap_content"
  15. android:layout_height="wrap_content"
  16. android:layout_gravity="center_horizontal"
  17. android:layout_marginTop="8dp"
  18. android:textColor="#000000" />
  19. </LinearLayout>

第二步:自定义一个类ImageTextButton继承LinearLayout

[java] view plain copy

  1. package net.loonggg.itbd.view;
  2. import net.loonggg.itbd.R;
  3. import android.content.Context;
  4. import android.util.AttributeSet;
  5. import android.view.LayoutInflater;
  6. import android.widget.ImageView;
  7. import android.widget.LinearLayout;
  8. import android.widget.TextView;
  9. public class ImageTextButton extends LinearLayout {
  10. private ImageView iv;
  11. private TextView tv;
  12. public ImageTextButton(Context context) {
  13. super(context);
  14. }
  15. public ImageTextButton(Context context, AttributeSet attrs) {
  16. super(context, attrs);
  17. LayoutInflater.from(context).inflate(R.layout.image_text_buttton, this,
  18. true);
  19. iv = (ImageView) findViewById(R.id.iv);
  20. tv = (TextView) findViewById(R.id.tv);
  21. }
  22. public void setDefaultImageResource(int resId) {
  23. iv.setImageResource(resId);
  24. }
  25. public void setDefaultTextViewText(String text) {
  26. tv.setText(text);
  27. }
  28. /**
  29. * @param resId
  30. */
  31. public void setImageResource(int resId) {
  32. iv.setImageResource(resId);
  33. }
  34. /**
  35. * @param text
  36. */
  37. public void setTextViewText(String text) {
  38. tv.setText(text);
  39. }
  40. /**
  41. * @param color
  42. */
  43. public void setTextColor(int color) {
  44. tv.setTextColor(color);
  45. }
  46. }

第三步:自定义控件的使用,在布局文件activity_main.xml中的使用

[html] view plain copy

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:paddingBottom="@dimen/activity_vertical_margin"
  6. android:paddingLeft="@dimen/activity_horizontal_margin"
  7. android:paddingRight="@dimen/activity_horizontal_margin"
  8. android:paddingTop="@dimen/activity_vertical_margin"
  9. tools:context=".MainActivity" >
  10. <net.loonggg.itbd.view.ImageTextButton
  11. android:id="@+id/itb"
  12. android:layout_width="wrap_content"
  13. android:layout_height="wrap_content" />
  14. </RelativeLayout>

第四步:在Activiy中的使用

[java] view plain copy

  1. public class MainActivity extends Activity {
  2. private ImageTextButton itb;
  3. @Override
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.activity_main);
  7. itb = (ImageTextButton) findViewById(R.id.itb);
  8. itb.setImageResource(R.drawable.sure);
  9. itb.setTextViewText("确定");
  10. }
  11. }
时间: 2024-10-25 22:34:21

自定义带图片和文字的ImageTextButton的相关文章

自定义带图片和文字的Button的排版

自定义button,动态加载图片与文字 [footView addSubview:btnAllChoose]; [btnAllChoose setTitle:str forState:UIControlStateNormal]; [btnAllChoose setTitleColor:[UIColor colorWithHexString:@"#666666"] forState:UIControlStateNormal]; btnAllChoose.titleLabel.font =

bootstrap-轮播广告页(带图片和文字)

<!DOCTYPE html><html lang="zh-cn"><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width

Android 自定义Android带图片和文字的ImageButton

经过分析,上述按钮效果实际上就是一个布局,一个最简单不过的垂直线性布局,上部分是一个ImageView,下部分是一个TextView,这个布局可点击.可设置监听. 我们首先要编写自己的ImageButton类,然后在主布局文件中为我们自定义的Button编写布局,最后在Activity中调用我们自定义ImageButton即可. 首先,我们编写一个MyImageButton类,继承自LinearLayout package com.billhoo.study; import android.co

自定义组件---图片和文字实现ImageButton效果

1.效果图 2.自定义代码: <span style="font-family:Comic Sans MS;font-size:14px;">public class ImageTextView extends View implements OnClickListener { private Paint mImagePaint; private Paint mTextPaint; private int mTextSize=16; private Bitmap image

如何让UIBarButtonItem同时显示图片和文字

我们无法在storyboard里,为UIBarButtonItem设置图片+文字,但在代码里,我们可以实现. 自定义一个控件,用于初始化UIBarButtonItem 这里我们只需简单创建一个带图片+文字的UIButton即可,以下示例代码都写在viewDidLoad方法内:     UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];     button.backgroundColor = [UIColor gray

【Android】Android实现自定义带文字和图片的Button

在Android开发中经常会需要用到带文字和图片的button,下面来讲解一下常用的实现办法. 一.用系统自带的Button实现 最简单的一种办法就是利用系统自带的Button来实现,这种方式代码量最小.在Button的属性中有一个是drawableLeft,这个属性可以把图片设置在文字的左边,但是这种方式必须让icon的背景色是透明的,如果icon的背景色不是透明的话,会导致点击按钮时icon部分的背景色不会发生变化. 主要代码: <Button android:id="@+id/bt3

UIButton图片文字控件位置自定义(图片居右文字居左、图片居中文字居中、图片居左文字消失等)

在开发中经常会碰到需要对按钮中的图片文字位置做调整的需求.第一种方式是通过设置按钮中图片文字的偏移量.通过方法setTitleEdgeInsets和setImageEdgeInsets实现 代码如下: /*!**方式一***/ - (void)updateBtnStyle_rightImage:(UIButton *)btn { CGFloat btnImageWidth = btn.imageView.bounds.size.width; CGFloat btnLabelWidth = btn

android 自定义组件-带图片的textView

1. 定义属性 <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="icon_textview"> <attr name="iconSrc" format="reference"/> </declare-styleable> <attr nam

Qrcode生成二维码支持中文,带图片,带文字

1.下载Qrcode库源码, 下载地址:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library2.打开源码时, 部分类库可能会加载失败, 不用理会, 只需正常加载 QRCodeLib, QRCodeSampleApp 即可.3.生成时, 会提示编译出错, Error'ThoughtWorks.QRCode.Properties.Resources' does not contain a definition for