国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android氣泡效果實(shí)現(xiàn)方法

2020-04-11 10:56:13
字體:
供稿:網(wǎng)友

本文實(shí)例講述了Android氣泡效果實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

最近在看以前在eoe上收藏的一些源代碼,準(zhǔn)備將這些代碼加上一些自己的注釋,然后貼出來,方便自己日后查閱,和剛?cè)腴T的人來學(xué)習(xí)。

今天先看一個(gè)氣泡窗口,先看一下效果圖和目錄結(jié)構(gòu),然后再上代碼

通過第一幅圖,我們可以看到一個(gè)氣泡窗口,這個(gè)窗口的結(jié)構(gòu)是里面有2個(gè)TextView和1個(gè)氣泡的背景,這個(gè)2個(gè)TextView放在了overlay_pop.xml文件中,氣泡窗口是這個(gè)layout的背景,overlay_pop.xml的代碼如下:

<?xml version="1.0" encoding="UTF-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:background="@drawable/pub_pop_bg4"  android:paddingLeft="10dp"  android:paddingRight="10dp"  android:layout_width="wrap_content"  android:layout_height="wrap_content" >  <TextView android:id="@+id/bubble_text"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:textSize="18dp"    android:textColor="#000" />  <!-- 我知道了 -->  <TextView android:id="@+id/bubble_btn"    android:gravity="right"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_below="@id/bubble_text"    android:textSize="20dp"    android:textColorHighlight="#2151E0"    android:text=""    android:textColor="#1A75B9" /></RelativeLayout>

這是實(shí)現(xiàn)功能的全部代碼:

public class TestBubbleActivity extends Activity {  /** 全局屏幕的高和寬 */  private static int SCREEN_WIDTH = 0 ;  private static int SCREEN_HEIGHT = 0;  /**氣泡顯示的詳細(xì)內(nèi)容*/  private TextView tvBubContent = null;  /**顯示 我知道了 的提示*/  private TextView tvKnow = null;  /**氣泡view 里面包含2個(gè)TextView*/  private View bubbleView = null;  /**氣泡dialog*/  private Dialog bubbleAlert = null;  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    getDimension();    bubbleView = getLayoutInflater().inflate(R.layout.overlay_pop, null);    tvKnow = (TextView)bubbleView.findViewById(R.id.bubble_btn);    tvKnow.setText(Html.fromHtml("<u>"+"我知道了"+"</u>"));    tvBubContent = (TextView)bubbleView.findViewById(R.id.bubble_text);    tvBubContent.setText("上次程序異常退出,正在傳輸歷史數(shù)據(jù)...");    tvKnow.setOnClickListener(new View.OnClickListener(){      @Override      public void onClick(View v) {        bubbleAlert.cancel();      }    });    int tmpWidth = SCREEN_WIDTH/5*3;    int tmpHeight =SCREEN_HEIGHT/8;    //設(shè)置TextView寬度    tvKnow.setMinWidth(tmpWidth);    tvBubContent.setMaxWidth(tmpWidth);    //以指定的樣式初始化dialog    bubbleAlert = new Dialog(this,R.style.bubble_dialog);    Window win = bubbleAlert.getWindow();//獲取所在window    LayoutParams params = win.getAttributes();//獲取LayoutParams    params.x = -(SCREEN_WIDTH/8);//設(shè)置x坐標(biāo)    params.y = -tmpHeight;//設(shè)置y坐標(biāo)    params.width = tmpWidth;    win.setAttributes(params);//設(shè)置生效    bubbleAlert.setCancelable(false);    bubbleAlert.setContentView(bubbleView);    bubbleAlert.show();  }  /**   * 獲取屏幕尺寸   */  private void getDimension(){    /** 獲取屏幕的寬和高 */    DisplayMetrics dm = new DisplayMetrics();    getWindowManager().getDefaultDisplay().getMetrics(dm);    SCREEN_WIDTH = dm.widthPixels;    SCREEN_HEIGHT = dm.heightPixels;  }}

更多關(guān)于Android動(dòng)畫及Activity操作相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)動(dòng)畫技巧匯總》、《Android控件用法總結(jié)》及《Android編程之a(chǎn)ctivity操作技巧總結(jié)

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 雅安市| 广州市| 收藏| 邛崃市| 河间市| 清徐县| 建平县| 建德市| 玉环县| 安宁市| 康马县| 扬中市| 和平区| 广灵县| 满洲里市| 沂南县| 定南县| 高安市| 西宁市| 合江县| 焉耆| 靖远县| 顺平县| 西平县| 宁晋县| 怀集县| 蚌埠市| 汉寿县| 赞皇县| 珠海市| 花垣县| 都兰县| 旺苍县| 浏阳市| 绥阳县| 开化县| 景谷| 广河县| 南丰县| 鹿邑县| 台江县|