• Android 控件知识点


    一、引入布局

      在xml文件中引入另一个布局

      <include layout="@layout/XXX" />

      个人理解就是在父布局的某个位置在嵌套一个布局。

    二、自定义控件

      步骤:

      2.1 新建一个xml文件,做好自定义控件

      例如:

        

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:orientation="horizontal">
    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/button3"
    android:layout_weight="1"
    android:layout_gravity="center"
    android:layout_margin="5dip"
    android:background="#0f0f0f"
    android:textColor="#fff000"
    android:text="back"/>
    <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:gravity="center"
    android:textSize="24sp"
    android:textColor="#fff000"
    android:layout_weight="1"
    android:id="@+id/text2"
    android:text="小麦麦"/>
    <Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_margin="5dp"
    android:textColor="#fff000"
    android:layout_weight="1"
    android:id="@+id/button4"
    android:text="edit"/>

    </LinearLayout>

      2.2 新建一个Class,继承自View类或者其子类。例如:  

    public class TittleLayout extends LinearLayout {
    public TittleLayout(Context context, AttributeSet attrs) {
    super(context, attrs);
    ((LayoutInflater)this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.button,this);
    }
    }

    2.3 在布局中引入控件就会调用该控件的构造函数,重写自定义控件父类的构造函数,并在构造函数中借助LayoutInflater加载布局文件的xml。
    2.4 在布局文件中添加自定义控件
      添加自定义控件与普通控件一样,只不过需要指明控件的完整类名。
      例如:
    <com.example.zds.test_menu01.TittleLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>







  • 相关阅读:
    Feign客户端的重构,新建springcloud架构
    Feign客户端实现RPC 调用
    Ribbon负载均衡实现
    负载均衡器nginx和ribbon区别
    eureka和zookeeper注册中心的区别
    SpringCloud服务的注册发现--------consul实现服务与发现
    Consul+upsync+Nginx 动态负载均衡
    Java并发编程笔记之ConcurrentLinkedQueue源码探究
    Java并发编程笔记之StampedLock锁源码探究
    Java并发编程笔记之读写锁 ReentrantReadWriteLock 源码分析
  • 原文地址:https://www.cnblogs.com/llxbl/p/6080425.html
Copyright © 2020-2023  润新知