91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中怎么通過自定義ImageView添加文字說明

發布時間:2021-06-26 17:09:24 來源:億速云 閱讀:135 作者:Leah 欄目:移動開發

本篇文章為大家展示了Android中怎么通過自定義ImageView添加文字說明,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

MyImageTextViewNew.java

public class MyImageTextViewNew extends LinearLayout {

 private ImageView mImageView = null;
 private TextView mTextView = null;
 private int imageId;
 private int textId, textColorId;

 public MyImageTextViewNew(Context context) {
  this(context, null);
 }

 public MyImageTextViewNew(Context context, @Nullable AttributeSet attrs) {
  this(context, attrs, 0);
 }

 public MyImageTextViewNew(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
  super(context, attrs, defStyleAttr);
  this.setOrientation(LinearLayout.VERTICAL);//設置垂直排序
  this.setGravity(Gravity.CENTER);//設置居中
  if (mImageView == null) {
   mImageView = new ImageView(context);
  }
  if (mTextView == null) {
   mTextView = new TextView(context);
  }
  if (attrs == null)
   return;
  int count = attrs.getAttributeCount();
  for (int i = 0; i < count; i++) {
   String attrName = attrs.getAttributeName(i);//獲取屬性名稱
   //根據屬性獲取資源ID
   switch (attrName) {
    //顯示的圖片
    case "image":
     imageId = attrs.getAttributeResourceValue(i, 0);
     break;
    //顯示的文字
    case "text":
     textId = attrs.getAttributeResourceValue(i, 0);
     break;
    //顯示的文字的顏色
    case "textColor":
     textColorId = attrs.getAttributeResourceValue(i, 0);
     break;
   }
  }
  init();
 }

 /**
  * 初始化狀態
  */
 private void init() {
  this.setText(textId);
  mTextView.setGravity(Gravity.CENTER);//字體居中
  this.setTextColor(textColorId);
  this.setImgResource(imageId);
  addView(mImageView);//將圖片控件加入到布局中
  addView(mTextView);//將文字控件加入到布局中
 }

 /**
  * 設置顯示的圖片
  *
  * @param resourceID 圖片ID
  */
 private void setImgResource(int resourceID) {
  if (resourceID == 0) {
   this.mImageView.setImageResource(0);
  } else {
   this.mImageView.setImageResource(resourceID);
  }
 }

 /**
  * 設置顯示的文字
  *
  * @param text
  */
 public void setText(int text) {
  this.mTextView.setText(text);
 }

 /**
  * 設置字體顏色(默認為黑色)
  *
  * @param color
  */
 private void setTextColor(int color) {
  if (color == 0) {
   this.mTextView.setTextColor(Color.BLACK);
  } else {
   this.mTextView.setTextColor(getResources().getColor(color));
  }
 }

}

簡單解釋下..實際上就是在LinearLayout布局中添加ImageView和TextView

這個View也比較簡單,代碼中也有部分簡易的說明.

下面可能還需要一個屬性文件

imageText.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

 <declare-styleable name="imageText">
  <attr name="image" format="integer" />
  <attr name="text" format="integer" />
  <attr name="textColor" format="integer" />
 </declare-styleable>
 
</resources>

Android中怎么通過自定義ImageView添加文字說明

配置文件存放位置

下面展示使用方法

Android中怎么通過自定義ImageView添加文字說明

上述內容就是Android中怎么通過自定義ImageView添加文字說明,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘泉县| 威宁| 紫云| 胶州市| 永德县| 噶尔县| 台湾省| 安乡县| 神农架林区| 内丘县| 盐池县| 陕西省| 龙游县| 子长县| 永康市| 禄劝| 天等县| 金堂县| 乌拉特后旗| 彰化市| 定安县| 齐齐哈尔市| 临颍县| 温州市| 金堂县| 微博| 昭苏县| 新建县| 丽水市| 盖州市| 河津市| 句容市| 万全县| 盘山县| 镇沅| 海晏县| 扶沟县| 鄂托克旗| 屯留县| 鲁甸县| 邓州市|