1. SlidingDrawer(上拉下拉 菜单/组合控件)

layout xml:

<SlidingDrawer
  android:id="@+id/slidingDrawer001"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:content="@+id/content"
  android:handle="@+id/handle" >

  <ImageButton
    android:id="@+id/handle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/buttonimage"
    android:scaleType="fitXY" />

  <RelativeLayout
    android:id="@+id/content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/imageView001"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <TextView
        android:id="@+id/textView001"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#FF000000" />

  </RelativeLayout>
</SlidingDrawer>

参考网址:

2. ImageView

图片全屏填充:

android:scaleType="fitXY"

3. Spinner(ComboBox)

常规Spinner

public class SpinnerActivity extends Activity {
  private Spinner mySpinner;
  private ArrayAdapter<String> adapter;
  private List<String> list = new ArrayList<String>();
  
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);    
    setContentView(R.layout.main);    
    
    //第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项    
    list.add("北京");    
    list.add("上海");
    
    mySpinner = (Spinner)findViewById(R.id.Spinner_city);    
    
    //第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。    
    adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);    
    
    //第三步:为适配器设置下拉列表下拉时的菜单样式。    
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);    
    
    //第四步:将适配器添加到下拉列表上    
    mySpinner.setAdapter(adapter);    
    
    //第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中    
    mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){    
			public void onItemSelected(AdapterView<?> parent, View view,
					int position, long id) {   
          // TODO Auto-generated method stub    
          System.out.printf("selected item: %d\n", position);   
      }    
      public void onNothingSelected(AdapterView<?> arg0) {    
          // TODO Auto-generated method stub    
      }    
    });    
    
    /*下拉菜单弹出的内容选项触屏事件处理*/    
    mySpinner.setOnTouchListener(new Spinner.OnTouchListener(){    
      public boolean onTouch(View v, MotionEvent event) {    
          // TODO Auto-generated method stub    
          return false;    
      }  
    });    
    
    /*下拉菜单弹出的内容选项焦点改变事件处理*/    
    mySpinner.setOnFocusChangeListener(new Spinner.OnFocusChangeListener(){    
      public void onFocusChange(View v, boolean hasFocus) {    
          // TODO Auto-generated method stub    
      }    
    });    
  }
}

自定义Spinner

1. 在res/drawable-hdpi中添加spinner.png、spinner_press.png

2. 在res/drawable-hdpi中定义spinner_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true"   
        android:drawable="@drawable/spinner_press" /><!--按下时效果-->  
    <item android:state_pressed="false"   
        android:drawable="@drawable/spinner" /><!--默认效果-->   
</selector>

3. 在res/values/styles.xml中添加spinner_style:

<resources>
    ... ...
    <!-- spinner -->
    <style name="spinner_style">
	<item name="android:background">@drawable/spinner_selector</item>
    </style>
    ... ...
</resources>

4. 在res/layout/activity_xxx.xml中引用spinner_style:

<Spinner
    android:id="@+id/spinner001"
    style="@style/spinner_style"
    android:layout_width=""
    android:layout_height="" />

Spinner文字居中(包括下拉菜单)

1. 在res/layout中添加spinner_item.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textSize="20sp" 		// 字体大小
    android:textColor="#FF000000" 	// 字体ARGB
    android:padding="20dp"  		// 控件内边距
    android:gravity="center">		// 字体居中显示
</TextView>

2. 在res/layout中添加drop_down_item.xml,格式参考spinner_item.xml

3. java代码中添加:

adapter = new ArrayAdapter<String>(this, R.layout.spinner_item, list);
adapter.setDropDownViewResource(R.layout.drop_down_item);

参考网址:

4. TextView

[android:hint] 设置显示在空间上的提示信息

[android:textColorHint] 设置提示信息文字的颜色,默认为灰色

参考网址: Android中TextVIew一些属性

5. ScrollView/HorizontalScrollView

直接使用Layout添加控件,不能实现滑动效果。可以使用ScrollView实现。

参考网址: HorizontalScrollView实现左右滑动的效果

6. ToggleButton

实例

public static class MyFragment extends Fragment implements OnClickListener { //
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment1, container, false);
            rootView.findViewById(R.id.Button1).setOnClickListener(this); //
            return rootView;
        }
        
	@Override
	public void onClick(View view) {
		// TODO Auto-generated method stub
		int viewId = view.getId();
		switch (viewId) {
		case R.id.Button1:
			ToggleButton bn = (ToggleButton)view;
			if (bn.isChecked()) {
				bn.setTextColor(Color.WHITE);
				bn.setBackgroundColor(0xff00bfff);
			} else {
				bn.setTextColor(0xff00bfff);
				bn.setBackgroundColor(Color.LTGRAY);
			}
			break;
		default:
			break;
		}
	}
}

参考网址: Android开发学习笔记:浅谈ToggleButton