自定义控件的使用
来源:互联网 发布:惠州温泉知乎 编辑:程序博客网 时间:2024/06/05 10:32
package com.mine.uidemo;import android.content.Context;import android.util.AttributeSet;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.LinearLayout;import android.widget.Toast;public class TitleLayout extends LinearLayout implements OnClickListener {private Button titleBack;private Button titleEdit;public TitleLayout(Context context, AttributeSet attrs) {super(context, attrs);//通过LayoutInflater的from()方法构建出一个LayoutInflater对象,然后调用inflate()方法就可以动态加载一个布局文件//inflate()方法接收两个参数,一个是布局文件的id,另一个是给加载好的布局添加一个父布局,这里制定为TitleLayout,所以传入this.LayoutInflater.from(context).inflate(R.layout.title, this);titleBack = (Button) findViewById(R.id.title_back);titleEdit = (Button) findViewById(R.id.title_edit);titleBack.setOnClickListener(this);titleEdit.setOnClickListener(this);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.title_back:showToast(getContext(), "点击了Back", Toast.LENGTH_LONG);break;case R.id.title_edit:showToast(getContext(), "点击了Edit", Toast.LENGTH_LONG);break;default:break;}}public void showToast(Context context,CharSequence text,int duration){Toast.makeText(context, text, duration).show();}}
MainActivity
package com.mine.uidemo;import android.app.Activity;import android.os.Bundle;import android.view.Window;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); }}
布局文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#808080" > <Button android:id="@+id/title_back" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="5dip" android:text="Back" /> <TextView android:id="@+id/title_text" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="1" android:gravity="center" android:textSize="24sp" android:text="Title_Text" /> <Button android:id="@+id/title_edit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="5dip" android:text="Edit" /> </LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <com.mine.uidemo.TitleLayout android:layout_width="match_parent" android:layout_height="wrap_content" > </com.mine.uidemo.TitleLayout></LinearLayout>
在主布局文件中使用自定义控件要加上包名和完整的类名
0 0
- 自定义控件的使用
- 自定义控件的使用
- 自定义控件的使用
- 自定义控件的使用
- 用户自定义控件的使用
- 窗体使用自定义的控件
- CustomValidator自定义控件的使用
- qt自定义控件的使用
- Android 自定义控件的使用
- 自定义组合控件的使用
- 自定义控件的使用流程
- SegmentedGroup自定义控件的使用
- qtcreator使用自定义的控件
- wpf 自定义控件的使用
- 自定义用户控件的使用
- 自定义控件View的使用
- 自定义控件ViewPagerIndicator的使用
- 自定义控件(一):组合控件的使用
- 一站式学习C编程第5章
- 性能测试用例设计策略
- scp跨服务器取文件
- Appium0.18.x迁移到Appium1.x须知事项(灰常有用,解答了本人几个疑问)
- 拦截导弹 && 又见拦截导弹 (单调递增子序列 与 单调递增子序列的个数)
- 自定义控件的使用
- CloseHandle(),TerminateThread(),ExitThread()的区别
- android反编译之apk资源提取-by TomHawk
- 立天商城主营耐克
- 关于分页查询的性能测试!Max\Min
- Access数据库连接语句
- JVM基础 之图解JVM内存模型(转载)
- 免费NAC云部署应用详解
- sqlite3中的数据类型