Android-自定義控件使用(方便修改控件的風格,只修改布局文件)
2016-04-26 11:31
549 查看
user_control_input.xml
布侷文件
------------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/tv_user_control_input_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dip"
android:textColor="#000000"
android:layout_weight="1"
android:gravity="center_horizontal"
/>
<EditText
android:id="@+id/et_user_control_input_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dip"
android:text="确定"
android:textColor="#000000"
android:layout_weight="2"
/>
</LinearLayout>
-------------------------------------------------------------------------
類文件
package com.example.mytest;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class UserControlInput extends LinearLayout {
private TextView tvTitle=null;
private EditText etContent=null;
public UserControlInput(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public UserControlInput(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.user_control_input, this);
tvTitle=(TextView) findViewById(R.id.tv_user_control_input_title);
etContent=(EditText)findViewById(R.id.et_user_control_input_content);
}
/**
* 设置標題的文字
*/
public void setTitle(String text) {
tvTitle.setText(text);
}
/**
* 得到標題的文字
* @return
*/
public String getTitle() {
return tvTitle.getText().toString();
}
/**
*
* @param text
*/
public void setContent(String text) {
etContent.setText(text);
}
/**
* 得到輸入內容的文字
* @return
*/
public String getContent() {
return etContent.getText().toString();
}
}
------------------------------------------------------------------------------------------------------------
在UI文件中直接引用
<com.example.mytest.UserControlInput
android:id="@+id/userControlTextViewEditText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/myImageView1"
android:layout_toRightOf="@+id/myImageView1"
/>
布侷文件
------------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/tv_user_control_input_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dip"
android:textColor="#000000"
android:layout_weight="1"
android:gravity="center_horizontal"
/>
<EditText
android:id="@+id/et_user_control_input_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="8dip"
android:text="确定"
android:textColor="#000000"
android:layout_weight="2"
/>
</LinearLayout>
-------------------------------------------------------------------------
類文件
package com.example.mytest;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class UserControlInput extends LinearLayout {
private TextView tvTitle=null;
private EditText etContent=null;
public UserControlInput(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public UserControlInput(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.user_control_input, this);
tvTitle=(TextView) findViewById(R.id.tv_user_control_input_title);
etContent=(EditText)findViewById(R.id.et_user_control_input_content);
}
/**
* 设置標題的文字
*/
public void setTitle(String text) {
tvTitle.setText(text);
}
/**
* 得到標題的文字
* @return
*/
public String getTitle() {
return tvTitle.getText().toString();
}
/**
*
* @param text
*/
public void setContent(String text) {
etContent.setText(text);
}
/**
* 得到輸入內容的文字
* @return
*/
public String getContent() {
return etContent.getText().toString();
}
}
------------------------------------------------------------------------------------------------------------
在UI文件中直接引用
<com.example.mytest.UserControlInput
android:id="@+id/userControlTextViewEditText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/myImageView1"
android:layout_toRightOf="@+id/myImageView1"
/>
相关文章推荐
- Android开发之activiti节点跳转
- Android屏幕适配经验谈
- Android自动检测版本及自动升级
- AndroidSuperDialog
- 深入理解Android的startservice和bindservice
- Android TreeMap简要源码分析(先不涉及红黑树部分)
- Android studio 导入依赖工程(导入其他工程作为lib)
- android studio 导入lib和so
- Android单位转换 (px、dp、sp之间的转换工具类)
- 理解Android中的JNI
- Android BINDER设计与实现 - 设计篇
- Android开发笔记(九十二)策略模式
- Android Studio中导入SlidingMenu
- Android开发:ListView控件:给Item绑定了点击事件,却点击无效
- Android性能优化之Performance Tips
- Android Studio中Gradle使用详解
- Debugging Native Android Platform Code
- android studio svn管理
- Android性能优化之Performance Tips
- Android消息机制源码分析