自己创建View和改变View
来源:互联网 发布:linux info命令 编辑:程序博客网 时间:2024/05/22 00:37
继承视图标签:
public class AddDelete extends LinearLayout{ EditText edtxt; private OnAddDelete onadddelete; public void setOnadddelete(OnAddDelete onadddelete) { if(onadddelete!=null){ this.onadddelete = onadddelete; } } interface OnAddDelete{ //接口,MainActivity中调用 void AddClick(View v); void DelClick(View v); } public AddDelete(Context context) { this(context,null); } public AddDelete(Context context, AttributeSet attrs) { this(context, attrs,0); } public AddDelete(Context context, 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.layout_add_delete,this); TextView tvadd = findViewById(R.id.text_add); TextView tvdel = findViewById(R.id.text_delete); edtxt = findViewById(R.id.etittxt);
//自定义View TypedArray typearray = context.obtainStyledAttributes(attrs,R.styleable.AddDeleteStyle); //attrs.xml中的<declare-styleable name="AddDeleteStyle"> String LeftText = typearray.getString(R.styleable.AddDeleteStyle_left_text); //attr.xml中的format tvdel.setText(LeftText); //重新给标签赋值,赋属性 typearray.recycle(); //刷新//自定义View
tvadd.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { onadddelete.AddClick(view); } }); tvdel.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { onadddelete.DelClick(view); } }); } public void setNumber(int number){ //不关心 if(number>0){ edtxt.setText(""+number); } } public int getNumber(){ //不关心 int number = 0; try{ String st = edtxt.getText().toString().trim(); number = Integer.valueOf(st); }catch (Exception e){ number = 0; } return number; }}
MainActivity的东西:
public class MainActivity extends AppCompatActivity { AddDelete ad; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ad = (AddDelete) findViewById(R.id.adddelet); ad.setOnadddelete(new AddDelete.OnAddDelete() { @Override public void AddClick(View v) { int number = ad.getNumber(); number++; ad.setNumber(number); } @Override public void DelClick(View v) { int number = ad.getNumber(); number--; ad.setNumber(number); } }); }}
自定义View:
values文件夹中:attrs.xml文件:
<resources> <declare-styleable name="AddDeleteStyle"> <attr name="left_text" format="string"></attr> <attr name="left_text_color" format="color"></attr> </declare-styleable></resources>
Main视图中:
加入:
xmlns:app="http://schemas.android.com/apk/res-auto"
在下边标签中:app:left_text="减"(此类型用来改变标签的属性,和values文件夹中的xml文件联系到一块)
阅读全文
0 0
- 自己创建View和改变View
- ios app: view: 怎样创建自己的view
- 自定义view学习-创建自己的九宫格解锁view
- 一步一步掌握sharpdevelop4,创建自己的pad,和自己的view
- View和Event位置改变方法
- View和Event位置的改变方法
- 控制器的创建和view的创建
- view改变跳转action
- view 层次改变
- 改变view的大小
- FrameWnd,View和Docment的手工创建
- 创建自己的View类-移动的Picture
- 定义自己的View
- 【转】android:自定义layout动态改变view位置和大小
- android:自定义layout动态改变view位置和大小
- view的clickable属性和点击background颜色改变
- 根据滑动改变view的大小和位置
- Android点击View改变字体颜色和边框背景
- bbox回归预测时所采用公式思路讨论(1)
- Jsonp介绍
- ligerUi框架简单的表格展示
- 自定义加载条+百分比
- shiro学习总结(二)
- 自己创建View和改变View
- 2017.11.1 LeetCode
- form表单以及table表格
- 炒鸡炫酷的安卓动画,值得学习
- <胡策day> 11.1 数学+数学+二分、并查集
- cv2 python 图片的批量处理
- HP ProLiant 服务器进入BIOS 按键总结
- B
- pip安装到用户目录(不需要管理员权限)