当前位置:首页 > 开发 > 移动开发 > 正文

组合控件

发表于: 2014-07-29   作者:不懂事的小屁孩   来源:转载   浏览:
摘要: Android 定制控件有三种方式:  继承其它控件类(EditText、Button)  组合方式。当前控件类从容器类继承,并将若干个控件添加到当前的容器中。  绘制控件,也就是控件类从View继承,并在onDraw方法中从零绘制控件。例如,TextView。 下面介绍一个最经常,最频繁用的组合控件的例子: mybutton.xml <?xml version
Android 定制控件有三种方式:
继承其它控件类(EditText、Button)
 组合方式。当前控件类从容器类继承,并将若干个控件添加到当前的容器中。
 绘制控件,也就是控件类从View继承,并在onDraw方法中从零绘制控件。例如,TextView。


下面介绍一个最经常,最频繁用的组合控件的例子:

mybutton.xml
<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="horizontal"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    >  
<ImageView  
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:id="@+id/iv"  
    android:src="@drawable/ok"  
    android:paddingTop="5dip"  
    android:paddingBottom="5dip"  
    android:paddingLeft="40dip"  
    android:layout_gravity="center_vertical"  
    />  
<TextView  
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content"  
    android:text="确定"  
    android:textColor="#000000"  
    android:id="@+id/tv"  
    android:layout_marginLeft="8dip"  
    android:layout_gravity="center_vertical"  
    />  
</LinearLayout>  


Mybutton.java
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MyButton extends LinearLayout {
	private ImageView mIv;
	private TextView mTv;
	public MyButton(Context context) {
		this(context,null);
	}
	public MyButton(Context context, AttributeSet attrs)
	{
		super(context,attrs);
		LayoutInflater.from(context).inflate(R.layout.mybutton, this, true);
		mIv = (ImageView)findViewById(R.id.iv);
		mTv = (TextView)findViewById(R.id.tv);
	}
	public void setImageResource(int resId)
	{
		mIv.setImageResource(resId);
	}
	public void setTextViewText(String text)
	{
		mTv.setText(text);
	}
}


应用:
<RelativeLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
    
    <com.example.mybu.MyButton 
         android:id="@+id/bt_confirm"  
         android:layout_width="wrap_content"  
         android:layout_height="wrap_content"  
         android:layout_alignParentBottom="true"  
         android:clickable="true"  
         android:background="#FF0000"
         android:focusable="true"  
        />

</RelativeLayout>


实现:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

public class MainActivity extends Activity {
	
	private MyButton but;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		but = (MyButton)findViewById(R.id.bt_confirm);
		but.setTextViewText("好的");
		but.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				but.setTextViewText("確定");
			}
		});
	}

}

组合控件

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
一个带图片和文字的按钮,效果图 1,Button的布局文件 <LinearLayout xmlns:android="http://sch
1,控件为EditText中加入一个清除内容按钮,当输入类容后显示图片,没有内容则不显示。 效果图 2,
接上一篇,我们已经有了自定义的ListView了,在其中具备了Header和Footer,现在这个ListView已经可
接上一篇,现在ListView已经有了基本外观,能够显示用户名的微博内容了,接下来,我们来把URL和@符
通常在布局的时候 弄成0.5 0.5,之后发现有些时候要开窗,增加一按钮,显示单独增加0.1?好难看 有
有时候会遇到将TreeView和DataGridView控件组合起来使用的需求。 表结构类似于这样: 其中id为主键
接上一篇,现在ListView已经有了基本外观,能够显示用户名的微博内容了,接下来,我们来把URL和@符
接上一篇,我们来为ListView中的Item加入表情符的显示能力。 先来回顾一下《Android控件组合应用一
Android在UI部分为应用程序开发人员提供了极大的便利和灵活性,在此就不一一列举了,本文拟通过一个
实现了《android 群英传》的TopBar的小实例。效果图如下: 记录下来,方便下次查看。主要的原理是将
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号