锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
The AndroidManifest.xml File
<activity android:windowSoftInputMode=["stateUnspecified",
"stateUnchanged", "stateHidden",
"stateAlwaysHidden", "stateVisible",
"stateAlwaysVisible", "adjustUnspecified",
"adjustResize", "adjustPan"] …… >
</activity>
attributes:
android:windowSoftInputMode
媧誨姩鐨勪富紿楀彛濡備綍涓庡寘鍚睆騫曚笂鐨勮蔣閿洏紿楀彛浜や簰銆傝繖涓睘鎬х殑璁劇疆灝嗕細褰卞搷涓や歡浜嬫儏:
1> 杞敭鐩樼殑鐘舵佲斺旀槸鍚﹀畠鏄殣钘忔垨鏄劇ず鈥斺斿綋媧誨姩(Activity)鎴愪負鐢ㄦ埛鍏蟲敞鐨勭劍鐐廣?/p>
2> 媧誨姩鐨勪富紿楀彛璋冩暣鈥斺旀槸鍚﹀噺灝戞椿鍔ㄤ富紿楀彛澶у皬浠ヤ究鑵懼嚭絀洪棿鏀捐蔣閿洏鎴栨槸鍚﹀綋媧誨姩紿楀彛鐨勯儴鍒嗚杞敭鐩樿鐩栨椂瀹冪殑鍐呭鐨勫綋鍓嶇劍鐐規槸鍙鐨勩?/p>
瀹冪殑璁劇疆蹇呴』鏄笅闈㈠垪琛ㄤ腑鐨勪竴涓鹼紝鎴栦竴涓?#8221;state…”鍊煎姞涓涓?#8221;adjust…”鍊肩殑緇勫悎銆傚湪浠諱竴緇勮緗涓尖斺斿涓?#8221;state…”values錛屼緥濡傦紗mdash鏈夋湭瀹氫箟鐨勭粨鏋溿傚悇涓間箣闂寸敤|鍒嗗紑銆備緥濡? <activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >
鍦ㄨ繖璁劇疆鐨勫?闄?stateUnspecified"鍜?adjustUnspecified"浠ュ)灝嗚鐩栧湪涓婚涓緗殑鍊?/p>
鍊?鎻忚堪
"stateUnspecified" 杞敭鐩樼殑鐘舵?鏄惁瀹冩槸闅愯棌鎴栧彲瑙?娌℃湁琚寚瀹氥傜郴緇熷皢閫夋嫨涓涓悎閫傜殑鐘舵佹垨渚濊禆浜庝富棰樼殑璁劇疆銆傝繖涓槸涓轟簡杞歡鐩樿涓洪粯璁ょ殑璁劇疆銆?br />
"stateUnchanged" 杞敭鐩樿淇濇寔鏃犺瀹冧笂嬈℃槸浠涔堢姸鎬侊紝鏄惁鍙鎴栭殣钘忥紝褰撲富紿楀彛鍑虹幇鍦ㄥ墠闈㈡椂銆?br />
"stateHidden" 褰撶敤鎴烽夋嫨璇ctivity鏃訛紝杞敭鐩樿闅愯棌鈥斺斾篃灝辨槸錛屽綋鐢ㄦ埛紜畾瀵艱埅鍒拌Activity鏃訛紝鑰屼笉鏄繑鍥炲埌瀹冪敱浜庣寮鍙︿竴涓狝ctivity銆?br />
"stateAlwaysHidden" 杞敭鐩樻繪槸琚殣钘忕殑錛屽綋璇ctivity涓葷獥鍙h幏鍙栫劍鐐規椂銆?br />
"stateVisible" 杞敭鐩樻槸鍙鐨勶紝褰撻偅涓槸姝e父鍚堥傜殑鏃?褰撶敤鎴峰鑸埌Activity涓葷獥鍙f椂)銆?br />
"stateAlwaysVisible" 褰撶敤鎴烽夋嫨榪欎釜Activity鏃訛紝杞敭鐩樻槸鍙鐨勨斺斾篃灝辨槸錛屼篃灝辨槸錛屽綋鐢ㄦ埛紜畾瀵艱埅鍒拌Activity鏃訛紝鑰屼笉鏄繑鍥炲埌瀹冪敱浜庣寮鍙︿竴涓狝ctivity銆?br />
"adjustUnspecified" 瀹冧笉琚寚瀹氭槸鍚﹁Activity涓葷獥鍙h皟鏁村ぇ灝忎互渚跨暀鍑鴻蔣閿洏鐨勭┖闂達紝鎴栨槸鍚︾獥鍙d笂鐨勫唴瀹瑰緱鍒板睆騫曚笂褰撳墠鐨勭劍鐐規槸鍙鐨勩傜郴緇熷皢鑷姩閫夋嫨榪欎簺妯″紡涓竴縐嶄富瑕佷緷璧栦簬鏄惁紿楀彛鐨勫唴瀹規湁浠諱綍甯冨眬瑙嗗浘鑳藉婊氬姩浠栦滑鐨勫唴瀹廣傚鏋滄湁榪欐牱鐨勪竴涓鍥撅紝榪欎釜紿楀彛灝嗚皟鏁村ぇ灝忥紝榪欐牱鐨勫亣璁懼彲浠ヤ嬌婊氬姩紿楀彛鐨勫唴瀹瑰湪涓涓緝灝忕殑鍖哄煙涓彲瑙佺殑銆傝繖涓槸涓葷獥鍙i粯璁ょ殑琛屼負璁劇疆銆?br />
"adjustResize" 璇ctivity涓葷獥鍙f繪槸琚皟鏁村睆騫曠殑澶у皬浠ヤ究鐣欏嚭杞敭鐩樼殑絀洪棿銆?br />
"adjustPan" 璇ctivity涓葷獥鍙e茍涓嶈皟鏁村睆騫曠殑澶у皬浠ヤ究鐣欏嚭杞敭鐩樼殑絀洪棿銆傜浉鍙嶏紝褰撳墠紿楀彛鐨勫唴瀹瑰皢鑷姩縐誨姩浠ヤ究褰撳墠鐒︾偣浠庝笉琚敭鐩樿鐩栧拰鐢ㄦ埛鑳芥繪槸鐪嬪埌杈撳叆鍐呭鐨勯儴鍒嗐傝繖涓氬父鏄笉鏈熸湜姣旇皟鏁村ぇ灝忥紝鍥犱負鐢ㄦ埛鍙兘鍏抽棴杞敭鐩樹互渚胯幏寰椾笌琚鐩栧唴瀹圭殑浜や簰鎿嶄綔銆?br />
/*
* 璁劇疆Edit Text鍙
*/
private OnFocusChangeListener focus_listener_noIM = new OnFocusChangeListener(){
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus==true) {
hideIM(v);
}
}
};
/*
* 璁劇疆Edit Text鍙
*/
private OnTouchListener touch_listener_noIM = new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN) {
hideIM(v);
}
return false;
}
};
list_view.xml://涓繪枃浠?/p>
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="#ffc9c9c9"
android:dividerHeight="1px"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="#ffc9c9c9"
android:dividerHeight="1px"/>
</LinearLayout>
item_custom.xml://瀹氫箟鎯寵鐨勫竷灞鏁堟灉
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="58px"
android:gravity="center_vertical"
>
<ImageView android:id="@+id/index_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</ImageView>
<TextView android:id="@+id/index_text"
android:layout_width="wrap_content"
android:layout_height="50px"
android:textSize="20sp"
android:layout_marginLeft="10px"
android:gravity="center"
android:textColor="#ff000000">
</TextView>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="58px"
android:gravity="center_vertical"
>
<ImageView android:id="@+id/index_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</ImageView>
<TextView android:id="@+id/index_text"
android:layout_width="wrap_content"
android:layout_height="50px"
android:textSize="20sp"
android:layout_marginLeft="10px"
android:gravity="center"
android:textColor="#ff000000">
</TextView>
</LinearLayout>
紼嬪簭浠g爜錛?/p>
view plaincopy to clipboardprint?
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class CustomListview extends Activity {
private ListView mListView;
private List<String> items;
@Override
public void onCreate(Bundle savedInstanceStated) {
super.onCreate(savedInstanceStated);
setContentView(R.layout.list_view);
mListView = (ListView) findViewById(R.id.list_view);
fillArray();
mListView.setAdapter(new CustomListAdapter(this));
}
private void fillArray() {
items = new ArrayList<String>();
items.add("鐧藉ぉ");
items.add("榛戝ぉ");
items.add("澶氫簯");
items.add("寰");
items.add("鏅村ぉ");
}
class CustomListAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private Context mContext = null;
public CustomListAdapter(Context context) {
mContext = context;
mInflater = LayoutInflater.from(mContext);
}
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return items.get(arg0);
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public int getCount() {
// TODO Auto-generated method stub
return items.size();
}
public View getView(int position, View convertView,
android.view.ViewGroup parent) {
final ImageView indexImage;
final TextView indexText;
if (convertView == null) {
// 鍜宨tem_custom.xml鑴氭湰鍏寵仈
convertView = mInflater.inflate(R.layout.item_custom, null);
}
indexImage = (ImageView) convertView.findViewById(R.id.index_image);
indexText = (TextView) convertView.findViewById(R.id.index_text);
// 璁劇疆item涓璱ndexText鐨勬枃鏈?nbsp;
indexText.setText(items.get(position).toString());
indexText.setTextColor(Color.RED);
// 璁劇疆item涓璉mageView鐨勫浘鐗?nbsp;
indexImage.setBackgroundResource(R.drawable.icon);
return convertView;
}
}
}
浠g爜錛?/p>
view plaincopy to clipboardprint?
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class MyListView4 extends Activity {
private List<Map<String, Object>> mData;
ListView setlistViewLeft;
MyAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
mData = getData();
setlistViewLeft = (ListView)findViewById(R.id.listleft);
adapter = new MyAdapter(this);
setlistViewLeft.setAdapter(adapter);
setlistViewLeft.setOnItemClickListener(mLeftListOnItemClick);
}
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("title", "G1");
map.put("info", "google 1");
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "G2");
map.put("info", "google 2");
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "G3");
map.put("info", "google 3");
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "G4");
map.put("info", "google 4");
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "G5");
map.put("info", "google 5");
list.add(map);
return list;
}
AdapterView.OnItemClickListener mLeftListOnItemClick = new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
adapter.setSelectItem(arg2);
adapter.notifyDataSetInvalidated();
// adapter.notifyDataSetChanged();
}
};
/**
* listview涓偣鍑繪寜閿脊鍑哄璇濇
*/
public final class ViewHolder {
public TextView titleText;
public TextView infoText;
}
public class MyAdapter extends BaseAdapter {
private LayoutInflater mInflater;
public MyAdapter(Context context) {
this.mInflater = LayoutInflater.from(context);
}
public int getCount() {
// TODO Auto-generated method stub
return mData.size();
}
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return mData.get(arg0);
}
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.leftview, null);
holder.titleText = (TextView) convertView.findViewById(R.id.titleleftlist);
holder.infoText = (TextView) convertView.findViewById(R.id.infoleftlist);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.titleText.setText((String) mData.get(position).get("title"));
holder.infoText.setText((String) mData.get(position).get("info"));
if (position == selectItem) {
convertView.setBackgroundColor(Color.RED);
}
else {
convertView.setBackgroundColor(Color.TRANSPARENT);
}
//convertView.getBackground().setAlpha(80);
return convertView;
}
public void setSelectItem(int selectItem) {
this.selectItem = selectItem;
}
private int selectItem=-1;
}
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class MyListView4 extends Activity {
private List<Map<String, Object>> mData;
ListView setlistViewLeft;
MyAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
mData = getData();
setlistViewLeft = (ListView)findViewById(R.id.listleft);
adapter = new MyAdapter(this);
setlistViewLeft.setAdapter(adapter);
setlistViewLeft.setOnItemClickListener(mLeftListOnItemClick);
}
private List<Map<String, Object>> getData() {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("title", "G1");
map.put("info", "google 1");
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "G2");
map.put("info", "google 2");
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "G3");
map.put("info", "google 3");
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "G4");
map.put("info", "google 4");
list.add(map);
map = new HashMap<String, Object>();
map.put("title", "G5");
map.put("info", "google 5");
list.add(map);
return list;
}
AdapterView.OnItemClickListener mLeftListOnItemClick = new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
adapter.setSelectItem(arg2);
adapter.notifyDataSetInvalidated();
// adapter.notifyDataSetChanged();
}
};
/**
* listview涓偣鍑繪寜閿脊鍑哄璇濇
*/
public final class ViewHolder {
public TextView titleText;
public TextView infoText;
}
public class MyAdapter extends BaseAdapter {
private LayoutInflater mInflater;
public MyAdapter(Context context) {
this.mInflater = LayoutInflater.from(context);
}
public int getCount() {
// TODO Auto-generated method stub
return mData.size();
}
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return mData.get(arg0);
}
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return arg0;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.leftview, null);
holder.titleText = (TextView) convertView.findViewById(R.id.titleleftlist);
holder.infoText = (TextView) convertView.findViewById(R.id.infoleftlist);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.titleText.setText((String) mData.get(position).get("title"));
holder.infoText.setText((String) mData.get(position).get("info"));
if (position == selectItem) {
convertView.setBackgroundColor(Color.RED);
}
else {
convertView.setBackgroundColor(Color.TRANSPARENT);
}
//convertView.getBackground().setAlpha(80);
return convertView;
}
public void setSelectItem(int selectItem) {
this.selectItem = selectItem;
}
private int selectItem=-1;
}
}
android 鑷畾涔塧dapter extends BaseAdapter錛屽仛鏈夎嚜宸卞竷灞鐨刲istView
鎴栵細
siteListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
for(int i=0;i<parent.getCount();i++){
View v=parent.getChildAt(parent.getCount()-1-i);
if (position == i) {
v.setBackgroundColor(Color.RED);
} else {
v.setBackgroundColor(Color.TRANSPARENT);
}
}
}
});
鍏辨湁灞炴э細
java浠g爜涓氳繃btn1鍏寵仈嬈℃帶浠?br />
android:id="@+id/btn1"
鎺т歡瀹藉害
android:layout_width="80px" //"80dip"鎴?80dp"
android:layout_width =“wrap_content”
android:layout_width =“match_parent”
鎺т歡楂樺害
android:layout_height="80px" //"80dip"鎴?80dp"
android:layout_height =“wrap_content”
android:layout_height =“match_parent”
鎺т歡鎺掑竷
android:orientation="horizontal”
android:orientation="vertical“
鎺т歡闂磋窛
android:layout_marginLeft="5dip" //璺濈宸﹁竟
android:layout_marginRight="5dip" //璺濈鍙寵竟
android:layout_marginTop="5dip" //璺濈涓婇潰
android:layout_marginRight="5dip" //璺濈涓嬮潰
鎺т歡鏄劇ず浣嶇疆
android:gravity="center" //left,right, top, bottom
android:gravity="center_horizontal"
android:layout_gravity鏄湰鍏冪礌瀵圭埗鍏冪礌鐨勯噸鍔涙柟鍚戙?br /> android:layout_gravity灞炴у垯璁劇疆鎺т歡鏈韓鐩稿浜庣埗鎺т歡鐨勬樉紺轟綅緗?br /> android:gravity鏄湰鍏冪礌鎵鏈夊瓙鍏冪礌鐨勯噸鍔涙柟鍚戙?/p>
android:layout_gravity="center_vertical"
android:layout_gravity="left"
android:layout_gravity="left|bottom"
TextView涓枃鏈瓧浣?br />
android:text="@String/text1" //鍦╯tring.xml涓畾涔塼ext1鐨勫?br />
android:textSize="20sp"
android:textColor=”#ff123456”
android:textStyle="bold" //鏅氾紙normal錛夛紝 鏂滀綋錛坕talic錛夛紝綺楁枩浣擄紙bold_italic錛?/p>
瀹氫箟鎺т歡鏄惁鍙
android:visibility=”visible” //鍙
android:visibility=”invisible”銆銆//涓嶅彲瑙侊紝浣嗘槸鍦ㄥ竷灞涓崰鐢ㄧ殑浣嶇疆榪樺湪
android:visibility=”gone”銆銆銆//涓嶅彲瑙侊紝瀹屽叏浠庡竷灞涓秷澶?/p>
瀹氫箟鑳屾櫙鍥劇墖
android:background="@drawable/img_bg" //img_bg涓篸rawable涓嬬殑涓寮犲浘鐗?/p>
seekbar鎺т歡鑳屾櫙鍥劇墖鍙婃渶澶у?br />
android:progressDrawable="@drawable/seekbar_img"
android:thumb="@drawable/thumb"
android:max = "60"
浠呭湪RelativeLayout涓湁鏁堬細
鍦ㄧ埗浜插竷灞鐨勭浉瀵逛綅緗?br />
android:layout_alignParentLeft="true" //鍦ㄥ竷灞宸﹁竟
android:layout_alignParentRight="true" //鍦ㄥ竷灞鍙寵竟
android:layout_alignParentTop="true" //鍦ㄥ竷灞涓婇潰
android:layout_alignParentBottom="true " //鍦ㄥ竷灞鐨勪笅闈?/p>
鍦ㄦ煇涓帶浠剁殑鐩稿浣嶇疆
android:layout_toRightOf="@id/button1" //鍦ㄦ帶浠禸utton1鐨勫彸杈癸紝涓嶄粎浠呮槸绱ч潬鐫
android:layout_toLeftOf="@id/button1" //鍦ㄦ帶浠禸utton2鐨勫乏杈癸紝涓嶄粎浠呮槸绱ч潬鐫
android:layout_below="@id/button1 " //鍦ㄦ帶浠禸utton1涓嬮潰錛屼笉浠呬粎鏄涓嬫柟
android:layout_above=“@id/button1” //鍦ㄦ帶浠禸utton1涓嬮潰,涓嶄粎浠呮槸姝d笅鏂?/p>
瀹氫箟鍜屾煇鎺т歡瀵瑰
android:layout_alignTop=”@id/button1” //鍜屾帶浠禸utton1涓婂榻?br />
android:layout_alignBottom=”@id/button1” //鍜屾帶浠禸utton1涓嬪榻?br />
android:layout_alignLeft=”@id/button1” //鍜屾帶浠禸utton1宸﹀榻?br />
android:layout_alignRight=”@id/button1” //鍜屾帶浠禸utton2鍙沖榻?/p>
android:layout_centerHorizontal="true" //姘村鉤灞呬腑
android:layout_centerVertical="true"
android:layout_centerInParent="true"
浠呭湪LinearLayout涓湁鏁?br /> 璁劇疆鎺т歡鍦ㄤ竴鎺掓垨涓鍒椾腑鎵鍗犳瘮渚嬪?br /> android:layout_weight="1"