您的位置:首页 > 移动开发 > Android开发

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"

/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: