UI 组件

android

2013-05-22 16:27

TextView                                    文本显示

EditText                                     文本输入框

AutoCompleteTextView                  带提示的输入框

Button                                       按钮

ImageButton                               图片按钮

ImageView                                  图片

ToggleButton                               开关按钮

Switch                                     开关按钮

TextClock                                    文本时钟

ScrollView                                    滚动边框(纵向)

HorizontalScrollView                       滚动边框(横向)

CheckBox                                   复选按钮

RadioButton                                单选按钮

CheckedTextView                            带文字的多选按钮

RadioGroup                                 单选按钮组

Spinner                                       下拉菜单

SeekBar                                      滑动

RatingBar                                    评分

ListView                                       列表

WebView                                     内置浏览器

Space                                        空白组件

include                                      引入布局

ViewStub                                      惰性布局


TextView                                    
android:autoLink="all"    匹配字符


EditText 

android:digits="0123abcd"                    限定字符

android:inputType="textEmailAddress"    textPassword  number  等

button.setError="错误信息"

ToggleButton                               
 android:textOn="开"
 android:textOff="关"
android:checked="true"

ToggleButton.isChecked()  判断状态 


RadioButtonCheckBox 

.isChecked()  判断选中状态 


CheckedTextView
    android:checkMark="?android:attr/listChoiceIndicatorMultiple"

.toggle(); 反转状态

.setChecked(true);  默认未选中

.setCheckMarkDrawable()设置点击后的图片

.setOnClickListener() 可绑定点击事件


ScrollView 

里面放入一个布局在放入组件


RadioGroup 
radioGroup1=(RadioGroup)this.findViewById(R.id.radioGroup1);
  int num=radioGroup1.getChildCount();
        for(int i=0;i<num;i++){
            RadioButton RadioButton=(RadioButton)radioGroup1.getChildAt(i);
            RadioButton.setText("设置选择"+i+"..");
        }


这样更严谨一些。

if(linear.getChildAt(i) instanceof CheckBox)

{

      CheckBox chk=(CheckBox)linear.getChildAt(i);

      if(chk.isChecked()){hobbys+=chk.getText();}

}





AutoCompleteTextView                 //输入2字符提示

String[] list=new String[]{"11112","11113","1114","11115"};
ArrayAdapter<String> ad=new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, list);
autoCompleteTextView1.setAdapter(ad);


Spinner & ListView 

ArrayList<String> str=new ArrayList<String>();
        str.add("1111");
        str.add("1112"
        str.add("1113");

ArrayAdapter<String> ad=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, str);
spinner1.setAdapter(ad);

list.setOnItemClickListener 
 public void onItemClick(AdapterView adapterView, View view,int arg2, long arg3) 
arg2  是参数


ProgressBar&  SeekBar  & RatingBar                                   

        android:max="50" 
        android:progress="20"
        android:secondaryProgress="30"

 X.getMax()

   X.setProgress((int)X.getProgress()+1);


   RatingBar                                  
style="?android:attr/ratingBarStyleSmall"  小星星样式



WebView         

WebView.loadUrl();                            


Space     
      android:layout_width="match_parent"
      android:layout_height="20dp"


include

  <include  android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            layout="@layout/ui" />

ViewStub

 <ViewStub   android:id="@+id/viewStub1"

             android:layout="@layout/ui"  />

     

  View view = viewStub1.inflate();              

        LinearLayout layout = (LinearLayout)view;  

        TextView t = (TextView)layout.findViewById(R.id.textView1);  

        t.setText("看到了么");

listView

项目单击事件

listView1.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

     HashMap<String, String> asd=ll.get(arg2);   //arg2 获取的索引值

     Toast.makeText(getBaseContext(), "你选择了"+arg2+asd.get("title"), Toast.LENGTH_LONG).show();

}

});



---------------------------------------------------------------------------

new OnScrollListener() {

    boolean isLastRow = false;


    @Override

    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

        //滚动时一直回调,直到停止滚动时才停止回调。单击时回调一次。

        //firstVisibleItem:当前能看见的第一个列表项ID(从0开始)

        //visibleItemCount:当前能看见的列表项个数(小半个也算)

        //totalItemCount:列表项共数


        //判断是否滚到最后一行

        if (firstVisibleItem + visibleItemCount == totalItemCount && totalItemCount > 0) {

            isLastRow = true;

        }

    }

    @Override

    public void onScrollStateChanged(AbsListView view, int scrollState) {

        //正在滚动时回调,回调2-3次,手指没抛则回调2次。scrollState = 2的这次不回调

        //回调顺序如下

        //第1次:scrollState = SCROLL_STATE_TOUCH_SCROLL(1) 正在滚动

        //第2次:scrollState = SCROLL_STATE_FLING(2) 手指做了抛的动作(手指离开屏幕前,用力滑了一下)

        //第3次:scrollState = SCROLL_STATE_IDLE(0) 停止滚动


        //当滚到最后一行且停止滚动时,执行加载

        if (isLastRow && scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {

            //加载元素

            ......


            isLastRow = false;

        }

    }

}