Android透明界面与ListView动态刷新

本文介绍了如何在Android应用中实现透明界面效果,并详细展示了通过TextWatcher监听EditText文本变化来动态更新ListView的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开通优快云账号有一段时间了,但是是第一次的优快云博客上写东东,没啥好些的,就当是做学习笔记吧。

第一次就总结一下前些时学习Android移动应用开发的一点小收获。——Android透明界面与ListView动态刷新的实现

(1)首先是透明界面的实现

透明界面的实现可以在XML里面修改属性。

首先在Androidmanifest.xml中加上

<activity android:name=".WordSearch"

         android:label="@string/app_name"

         android:theme="@style/transparent">

</activity>

   

    再在res/values/colors.xml中加上

<resources>

        <drawable name="translucent_background">#7F000000</drawable>

</resources>

    最后在styles.xml中添加以下代码

<resources>

    <style name="transparent">     

    <item name="android:windowBackground">@drawable/translucent_background</item>

    <item name="android:windowIsTranslucent">true</item>

    </style>

</resources>

   

    这样该Activity就为透明的了。

貌似还可在代码里面修改,具体怎么实现我还没试过

 

注:#7F000000表示颜色,其中前两位表示透明度(00FF),后面六位表示颜色(000000纯黑 ,FFFFFF纯白)。

 

 

(2)ListView随EditView的改变动态刷新

 

EditView不能监听Text的改变,要想监听Text的改变则需使用TextWatcher类。下面是主要代码

    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);即可

*/

     }

}

 

下面则是效果

 

透明界面

 

2010-11-06   19:08:30

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值