欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 国产午夜免费一区二区三区 | 一区二区中文字幕 | 国产精品久久久爽爽爽麻豆色哟哟 | 精品免费国产一区二区三区四区介绍 | 一区二区av| 国产精品久久久久免费视频 | 91在线免费观看网站 | 久久国产乱子伦精品免 | 毛片特级 | 亚洲AV久久久久久久无码 | 国产一区亚洲 | 色噜噜狠狠先锋影音久久 | 国产亚洲精品高清在线 | 欧美成人a∨高清免费观看 毛片特级 | 男女xx00xx的视频免费观看 | 国产精品视频一区二区三区 | 日韩一级在线播放 | 国产综合视频在线观看 | 国产成人精品免费视频大全可播放的 | 国产精品久久久久aaaa九色 | 成人免费电影视频 | 欧美另类videosbestsex久久 | 狠狠色狠狠色 | 2019偷偷狠狠的日日 | 国产青青 | 欧美综合一区 | 91在线视频观看 | 日日摸夜夜爽 | 性色屋| 欧美日韩精品一区二区 | 不卡的av在线 | 男女真实无遮挡xx00动态图120秒 | 亚洲码欧美码一区二区三区 | 日日舔夜夜操 | 精品国产一级毛片大全 | 好吊日免费视频 | www.ouchn.com | 午夜一级毛片 | 99re国产| 在线欧美日韩 | 免费黄色在线 |