android自定义view控件和自定义更改控件内容
来源:互联网 发布:连线服务的网络提供商 编辑:程序博客网 时间:2024/06/05 15:19
package com.example.customview;import android.content.Context;import android.content.res.TypedArray;import android.graphics.Color;import android.support.annotation.Nullable;import android.util.AttributeSet;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.LinearLayout;import android.widget.TextView;/** * Created by Administrator on 2017/11/1 0001. *///自定义的类用于继承LinearLayoutpublic class AddDeleteActivity extends LinearLayout{ private TextView tv_delete; private TextView tv_add; private EditText et_number; private OnAddDeleteClickListen listen; private Button btn_mine; //写接口用于调用这里面的方法 interface OnAddDeleteClickListen{ void addClick(View v); void deleteClick(View v); } //将实现接口与参数listen绑定到一起 public void setOnAddDeleteClickListen(OnAddDeleteClickListen listen) { this.listen = listen; } public AddDeleteActivity(Context context) { this(context,null); } public AddDeleteActivity(Context context, @Nullable AttributeSet attrs) { this(context, attrs,0); } public AddDeleteActivity(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(context, attrs, defStyleAttr); } private void initView(Context context, AttributeSet attrs, int defStyleAttr) { View.inflate(context,R.layout.car_add_delete,this); tv_add = (TextView)findViewById(R.id.tv_add); tv_delete = (TextView)findViewById(R.id.tv_delete); et_number = (EditText)findViewById(R.id.et_number); btn_mine = (Button)findViewById(R.id.btn_mine); tv_add.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { listen.addClick(view); } }); tv_delete.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { listen.deleteClick(view); } }); TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.AddDeleteStyle); String left_text = typedArray.getString(R.styleable.AddDeleteStyle_left_text); String right_text = typedArray.getString(R.styleable.AddDeleteStyle_right_text); String center_text = typedArray.getString(R.styleable.AddDeleteStyle_center_text); int color = typedArray.getColor(R.styleable.AddDeleteStyle_btn_custom, Color.BLUE); tv_add.setText(right_text); tv_delete.setText(left_text); typedArray.recycle(); } public int getNumber() { String trim = et_number.getText().toString().trim(); int integer = Integer.valueOf(trim); return integer; } public void setNumber(int number) { Log.e("----","李海生"+number); if(number<0) { et_number.setText(0+""); }else { et_number.setText(number+""); } }}
//在values中自定义的类型
<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="AddDeleteStyle"> <attr name="left_text" format="string"/> <attr name="right_text" format="string"/> <attr name="center_text" format="string"/> <attr name="btn_custom" format="color"/> </declare-styleable></resources>
//在主方法的布局中调用自定义View
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:orientation="vertical" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.customview.MainActivity"> <com.example.customview.AddDeleteActivity android:id="@+id/ada" android:layout_width="match_parent" app:right_text="加" app:left_text="减" android:layout_height="wrap_content"/></LinearLayout>
阅读全文
0 0
- android自定义view控件和自定义更改控件内容
- Android自定义View控件
- Android自定义View控件
- Android自定义View控件
- Android自定义View控件
- Android自定义View控件
- Android view 自定义控件
- Android 自定义控件-View
- Android自定义控件 -- 自定义View
- 自定义View和控件
- Android控件:自定义View和ViewGroup相关
- 自定义控件,自定义View
- Android 自定义组合控件View
- Android使用View自定义控件
- Android自定义View 控件
- android 中自定义控件View
- Android中自定义控件View
- Android群英传-自定义View、控件
- bootstrap table 使用详细讲解
- Linux-磁盘分区涉猎
- 求三位数的倒过来的数
- NOIP复赛复习(二)竞赛环境与注意事项
- Android Studio3.0安装完成后无法启动报错Fatal error initializing 'com.intellij.openapi.actionSystem.ActionManage
- android自定义view控件和自定义更改控件内容
- 3dmax模型导入unity3d
- MongoDB学习笔记(二)
- Android 7.0 调用系统拍照,相册,剪裁,修复拍照图片旋转问题
- 联想携手北京华联打造智慧商城 | Face++完成4.6亿美元C轮融资【软件网每日新闻播报│第11-1期】
- 洛谷P3031 [USACO11NOV](中位数,树状数组)
- LeetCode基础-查找
- 银行求本金和
- JDBC要点总结