博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android自定义UI
阅读量:5847 次
发布时间:2019-06-18

本文共 2823 字,大约阅读时间需要 9 分钟。

 

Android setting中设置启动wifi,ethernet,bluetooth时需要的一种UI :

自定义UI类:

package com.example.androidinflateuidemo1;import android.content.Context;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.RelativeLayout;import android.widget.Switch;import android.widget.TextView;import android.widget.Toast;public class Custome_Component extends RelativeLayout{    private Context mContext;    private TextView mTitle,mSummary;    private Switch mSwitch;        public Custome_Component(Context context) {        super(context);        // TODO Auto-generated constructor stub    }    public Custome_Component(Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);        // TODO Auto-generated constructor stub    }    public Custome_Component(Context context, AttributeSet attrs) {        super(context, attrs);        // TODO Auto-generated constructor stub        mContext=context;        LayoutInflater layoutInflater=LayoutInflater.from(context);        final View mView=layoutInflater.inflate(R.layout.customeui, this);        mSwitch=(Switch)mView.findViewById(R.id.switch1);        mTitle=(TextView)mView.findViewById(R.id.textView1);        mSummary=(TextView)mView.findViewById(R.id.textView2);        mSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener(){            @Override            public void onCheckedChanged(CompoundButton arg0, boolean arg1) {                // TODO Auto-generated method stub                Toast.makeText(mContext, "switch", Toast.LENGTH_SHORT).show();            }                    });    }        public void setTitle(String title){        mTitle.setText(title);    }        public void setSummary(String summary){        mTitle.setText(summary);    }}

 

对应的XML:下面的不是手工写的,直接用布局器拖放的

主程序:

package com.example.androidinflateuidemo1;import android.os.Bundle;import android.app.Activity;import android.view.Menu;public class MainActivity extends Activity {    private com.example.androidinflateuidemo1.Custome_Component mCustomeUI;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mCustomeUI=(com.example.androidinflateuidemo1.Custome_Component)this.findViewById(R.id.custome);        mCustomeUI.setTitle("customeui title");        mCustomeUI.setSummary("customeui summary");            }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    }

运行结果:

转载地址:http://lfwjx.baihongyu.com/

你可能感兴趣的文章
目标与绩效管理实战专家胡立
查看>>
axios 中断请求
查看>>
2014手机分析图
查看>>
Linux PID 1 和 Systemd
查看>>
一元多项式相加
查看>>
commandLink/commandButton/ajax backing bean action/listener method not invoked (转)
查看>>
软件工作的大环境
查看>>
梅沙教育APP简单分析-版本:iOS v1.2.21-Nathaneko-佳钦
查看>>
Word中如何设置图片与段落的间距为半行
查看>>
JQuery this和$(this)的区别及获取$(this)子元素对象的方法
查看>>
关于分区索引与全局索引性能比较的示例
查看>>
沟通:用故事产生共鸣
查看>>
1080*1920 下看网站很爽
查看>>
CMake 构建项目Android NDK项目基础知识
查看>>
MySQL 不落地迁移、导入 PostgreSQL - 推荐 rds_dbsync
查看>>
[Erlang 0004] Centos 源代码编译 安装 Erlang
查看>>
51 Nod 1027 大数乘法【Java大数乱搞】
查看>>
三维重建技术概述
查看>>
AI x 量化:华尔街老司机解密智能投资正确姿势
查看>>
IT史上十大收购案
查看>>