欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Android 在列表List中顯示半透明小窗體效果的控

系統 1907 0
想實現圖中這樣中間有半透明窗體的效果么?

Android 在列表List中顯示半透明小窗體效果的控件
Android 在列表List中顯示半透明小窗體效果的控件,多的不多直接上代碼,要說的都在注釋里了:
    
import android.content.Context;  
import android.graphics.PixelFormat;  
import android.os.Handler;  
import android.view.LayoutInflater;  
import android.view.View;  
import android.view.WindowManager;  
import android.view.WindowManager.LayoutParams;  
import android.widget.TextView;  
  
/** 
 * 窗口中間顯示半透明提示框的小組件 
 * 用法:1. new 2. showPrevLetter(String prevLetter) 
 * @author LL 
 * 
 */  
public class PrevLetterDialog {  
    //窗體消失的延時時間  
    private static final int DELAYED_HIDEN = 500;  
  
    // 實現Runnable接口的類  
    private RemoveWindow mRemoveWindow = new RemoveWindow();  
    //在Handler里能實現對UI線程的修改  
    private Handler mHandler;  
    //窗體管理器  
    private WindowManager mWindowManager;  
    //顯示在窗體中間半透明的字體框  
    private TextView mDialogText;  
    //是否正在顯示中  
    private boolean mShowing;  
    //是否準備好顯示了  
    private boolean mReady;  
    //顯示在窗體中的字符  
    private char mPrevLetter = Character.MIN_VALUE;  
      
    /** 
     * 注明:context一定要在可見UI中通過getContext()獲得,否則會拋異常。 
     * @param context 
     */  
    public PrevLetterDialog(Context context) {  
        //得到窗體管理器  
        mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);  
  
        //得到布部創建者  
        LayoutInflater inflate = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);  
        //得到TextView  
        mDialogText = (TextView) inflate.inflate(R.layout.list_position, null);  
        //設TextView為可見  
        mDialogText.setVisibility(View.INVISIBLE);  
          
        //通過handler把mDialogText展示出來  
        mHandler = new Handler();  
        //要用post可實現在多線程里調用UI線程并改變  
        mHandler.post(new Runnable() {  
            public void run() {  
                mReady = true;  
                //窗體的布局參數  
                WindowManager.LayoutParams lp = new WindowManager.LayoutParams(LayoutParams.WRAP_CONTENT,  
                        LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_APPLICATION,  
                        WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,  
                        PixelFormat.TRANSLUCENT);  
                //把TextView添加到窗體中去  
                mWindowManager.addView(mDialogText, lp);  
            }  
        });  
          
    }  
      
    //設置可見性  
    public void setmReady(boolean mReady) {  
        this.mReady = mReady;  
    }  
  
    /** 
     * 一般用在onScroll方法中,參數是字符串,不能為空,會取第一個字符顯示 
     * @param prevLetter 
     */  
    public void showPrevLetter(String prevLetter) {  
        if (!mReady) {  
            return;  
        }  
        char firstLetter = prevLetter.charAt(0);  
  
        if (!mShowing && firstLetter != mPrevLetter) {  
              
            mShowing = true;  
            mDialogText.setVisibility(View.VISIBLE);  
  
        }  
        //設TextView顯示的字體  
        mDialogText.setText(((Character) firstLetter).toString());  
        //移除mRemoveWindow實現的Runnable接口類  
        mHandler.removeCallbacks(mRemoveWindow);  
        //添加mRemoveWindow實現的Runnable接口類,并設延時  
        mHandler.postDelayed(mRemoveWindow, DELAYED_HIDEN);  
        mPrevLetter = firstLetter;  
  
    }  
  
    /** 
     * 實現Runnable接口的類 
     */  
    private final class RemoveWindow implements Runnable {  
        public void run() {  
            removeWindow();  
        }  
    }  
  
    private void removeWindow() {  
        if (mShowing) {  
            mShowing = false;  
            mDialogText.setVisibility(View.INVISIBLE);  
        }  
    }  
  
}  

  

    
<?xml version="1.0" encoding="utf-8"?>  
<TextView xmlns:android="http://schemas.android.com/apk/res/android"  
    android:textSize="50sp"  
    android:textColor="@color/band_common_content"  
    android:background="@drawable/common_list_title"  
    android:minWidth="70dip"  
    android:layout_height="wrap_content"  
    android:padding="5dip"  
    android:gravity="center"  
/>  

  

Android 在列表List中顯示半透明小窗體效果的控件


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 韩国精品 | 免费性生活视频 | 国产欧美综合精品一区二区 | 91久久精品一区二区三区 | 欧美久久久 | 欧美日韩一区二区三区视频播 | 色婷婷综合久久久中文一区二区 | 在线视频观看国产 | 久久色网 | 日韩精品视频在线观看免费 | 热99在线视频 | 国产精品亚洲成在人线 | 亚洲第一成年免费网站 | 视频一区二区不卡 | 成人毛片100免费观看 | 福利色| 91成人影院未满十八勿入 | 国产美女被爽到高潮免费A片小说 | 日韩一区在线视频 | 超碰日韩 | 国产性色视频在线高清 | 中文字幕免费在线观看 | 国产精品黄 | 欧美日韩久久久 | 国产精品九九久久一区hh | 中文字幕一区二区在线观看 | 免费永久欧美性色xo影院 | 精品久久久久一区二区国产 | 久久久久久亚洲 | 日韩国产中文字幕 | 欧美一级二级三级 | 中文字幕a∨在线乱码免费看 | 欧美日韩国产一区二区三区不卡 | 亚洲va国产va | 亚洲日韩色图 | 亚洲福利电影网 | 久碰香蕉精品视频在线观看 | 最新日本中文字幕在线观看 | 亚洲成人福利在线 | 91无限资源 | 久草色视频 |