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>
参考网址:
图片全屏填充:
android:scaleType="fitXY"
常规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);
参考网址:
[android:hint] 设置显示在空间上的提示信息
[android:textColorHint] 设置提示信息文字的颜色,默认为灰色
参考网址: Android中TextVIew一些属性
直接使用Layout添加控件,不能实现滑动效果。可以使用ScrollView实现。
参考网址: HorizontalScrollView实现左右滑动的效果
实例:
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;
}
}
}