(1)首先是透明介面的實現
透明介面的實現可以在XML裡面修改屬性。
首先在Androidmanifest.xml中加上
java代碼:
<activity android:name=".WordSearch"
android:label="@string/app_name"
android:theme="@style/transparent">
</activity>
再在res/values/colors.xml中加上
java代碼:
<resources>
<drawable name="translucent_background">#7F000000</drawable>
</resources>
最後在styles.xml中添加以下代碼
java代碼:
<resources>
<style name="transparent">
<item name="android:windowBackground">@drawable/translucent_background</item>
<item name="android:windowIsTranslucent">true</item>
</style>
</resources>
這樣該Activity就為透明的了。
貌似還可在代碼裡面修改,具體怎麼實現我還沒試過
註:#7F000000表示顏色,其中前兩位表示透明度(00—FF),後面六位表示顏色(000000純黑 ,FFFFFF純白)。
(2)ListView隨EditView的改變動態重新整理
EditView不能監聽Text的改變,要想監聽Text的改變則需使用TextWatcher類。下面是主要代碼
java代碼:
ArrayList<String> strs=new ArrayList<String>();
ListView view=null;
EditText et=null;
ArrayAdapter<String> adapter;
TextWatcher watcher;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.wordsearch);
et=(EditText)this.findViewById(R.id.result);
view=(ListView)this.findViewById(R.id.ListView01);
adapter=new ArrayAdapter<String>(this,R.layout.words_item,strs);
view.setAdapter(adapter);
et.addTextChangedListener(watcher);
}
TextWatcher watcher=new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String string=et.getText().toString();
strs.add(string);
adapter.notifyDataSetChanged();
/*
這裡可以調用adapter.notifyDataSetChanged();
或是直接改變adapter 然後調用view.setAdapter(adapter);即可