自定义view
来源:互联网 发布:淘宝收到货后申请退款 编辑:程序博客网 时间:2024/06/05 15:18
<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="CustomXmlTopBar"> <!--topbar中间文字属性--> <attr name="titleText" format="string"/> <attr name="titleTextColor" format="color"/> <attr name="titleTextSize" format="dimension"/> <attr name="lefttitleText" format="string"/> <attr name="lefttitleTextColor" format="color"/> <attr name="lefttitleTextSize" format="dimension"/> <!--topbar左边控件属性--> <attr name="leftSrc" format="reference"/> <!--topbar左边控件属性--> <attr name="rightSrc" format="reference"/> </declare-styleable></resources>
package com.bwei.Test.zhangjian20170919lianxi.view;import android.content.Context;import android.content.res.TypedArray;import android.graphics.drawable.Drawable;import android.util.AttributeSet;import android.view.LayoutInflater;import android.widget.FrameLayout;import android.widget.ImageView;import android.widget.TextView;import com.bwei.Test.zhangjian20170919lianxi.R;/** * @author ${张健} * @date 2017/9/20/16:36 */public class CustomXmlTopBar extends FrameLayout { //定义控件变量 private ImageView iv_topbar_right; private TextView tv_topbar_titletext,iv_topbar_left; //属性变量 private String titleText,lefttitleText; private int titleTextColor,lefttitleTextColor; private float titleTextSize,lefttitleTextSize;// private Drawable leftSrc; private Drawable rightSrc; public CustomXmlTopBar(Context context) { super(context); } public CustomXmlTopBar(Context context, AttributeSet attrs) { super(context, attrs); //填充布局 LayoutInflater.from(context).inflate(R.layout.title,this); iv_topbar_left = (TextView) findViewById(R.id.iv_topbar_left); iv_topbar_right = (ImageView) findViewById(R.id.iv_topbar_right); tv_topbar_titletext = (TextView) findViewById(R.id.tv_topbar_titletext); //获取自定义属性数组 TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.CustomXmlTopBar); //获取中间属性 titleText = typedArray.getString(R.styleable.CustomXmlTopBar_titleText); titleTextColor = typedArray.getColor(R.styleable.CustomXmlTopBar_titleTextColor,000000); titleTextSize = typedArray.getDimension(R.styleable.CustomXmlTopBar_titleTextSize,20); //获取左边文字属性 lefttitleText = typedArray.getString(R.styleable.CustomXmlTopBar_lefttitleText); lefttitleTextColor = typedArray.getColor(R.styleable.CustomXmlTopBar_lefttitleTextColor,000000); lefttitleTextSize = typedArray.getDimension(R.styleable.CustomXmlTopBar_lefttitleTextSize,20);// leftSrc = typedArray.getDrawable(R.styleable.CustomXmlTopBar_leftSrc); rightSrc = typedArray.getDrawable(R.styleable.CustomXmlTopBar_rightSrc); typedArray.recycle(); //设置属性 iv_topbar_left.setText(lefttitleText); iv_topbar_left.setTextColor(lefttitleTextColor); iv_topbar_left.setTextSize(lefttitleTextSize); //右边图片 iv_topbar_right.setImageDrawable(rightSrc); //中间文字 tv_topbar_titletext.setText(titleText); tv_topbar_titletext.setTextColor(titleTextColor); tv_topbar_titletext.setTextSize(titleTextSize); } public CustomXmlTopBar(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); }// @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)// public CustomXmlTopBar(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {// super(context, attrs, defStyleAttr, defStyleRes);// }//// //设置右控件是否显示,默认为显示// public void setRightIsvisable(boolean isvisableFlag){// if (isvisableFlag){// iv_topbar_right.setVisibility(View.VISIBLE);// }else {// iv_topbar_right.setVisibility(View.GONE);// }// }}<com.bwei.Test.zhangjian20170919lianxi.view.CustomXmlTopBar android:id="@+id/cv" android:layout_width="match_parent" android:layout_height="50dp" app:lefttitleText="全部" app:lefttitleTextColor="#000" app:titleText="首页" app:titleTextColor="#fff" app:rightSrc="@drawable/dynamic_titlebar_normal" ></com.bwei.Test.zhangjian20170919lianxi.view.CustomXmlTopBar>
阅读全文
0 0
- 自定义view
- 自定义View
- 自定义view
- 自定义View
- 自定义View
- 自定义view
- 自定义View
- 自定义view
- 自定义view
- 自定义View
- 自定义View
- 自定义view
- 自定义view
- 自定义view
- 自定义view
- 自定义view
- 自定义View
- 自定义View
- 无限轮播加点
- sdut acm oj 顺序表应用7:最大子段和之分治递归法
- GUI----如何给按钮添加功能
- java 拷贝非空对象属性值
- JAVA面试经验分享
- 自定义view
- sqlite查询排序
- ubuntu安装lantern进入google浏览器
- angular js 修改密码
- vuejs2.0关于用axios结合vuex开发
- 触发器
- JAVA架构师
- HDU 2141 Can you find it?
- POJ 2253 Frogger 最小生成树