Android課程---用進度條改變圖片透明度

來源:互聯網
上載者:User

標籤:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    android:orientation="vertical"    tools:context="com.hanqi.test5.UIActivity2">    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="長按觸發操作功能表"        android:id="@+id/bt_changan"/>    <ProgressBar        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/pb_1"/>    <ProgressBar        android:layout_width="match_parent"        android:layout_height="wrap_content"        style="?android:attr/progressBarStyleHorizontal"        android:max="100"        android:progress="50"        android:secondaryProgress="70"        android:id="@+id/pb_2" />   <ImageView        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/vipflower"        android:id="@+id/iv_vip"/>    <SeekBar        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:max="100"        android:progress="100"        android:id="@+id/sb_1"/><!--可拖動-->    </LinearLayout>
package com.hanqi.test5;import android.app.Activity;import android.os.Bundle;import android.view.ContextMenu;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.view.SubMenu;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.SeekBar;import android.widget.Toast;public class UIActivity2 extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_ui2);        Button bt_changan = (Button)findViewById(R.id.bt_changan);        bt_changan.setOnCreateContextMenuListener(this);/*this代表當前Activity,實現了這個介面*/        //進度條        //有final時,生命週期長,不加final的話就只是當前方法的,加final可以延長生命週期,或者定義成員變數        final ProgressBar pb_1 =(ProgressBar)findViewById(R.id.pb_1);        final ProgressBar pb_2 =(ProgressBar)findViewById(R.id.pb_2);        final SeekBar sb_1 =(SeekBar)findViewById(R.id.sb_1);        sb_1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {            //onProgressChanged進度條變化,進度改變就會觸發            @Override            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {                //pb_2.setProgress(seekBar.getProgress());                ImageView iv_vip = (ImageView)findViewById(R.id.iv_vip);                //iv_vip.setAlpha(0.2f);透明度值是0-255                iv_vip.setImageAlpha(progress * 255 /100);            }            //onStartTrackingTouch開始拖動            @Override            public void onStartTrackingTouch(SeekBar seekBar) {            }            //onStopTrackingTouch停止拖動            @Override            public void onStopTrackingTouch(SeekBar seekBar) {                pb_2.setProgress(seekBar.getProgress());                if (seekBar.getProgress() == seekBar.getMax())                {                    //設定不可見                    pb_1.setVisibility(View.GONE);                    /*INVISIBLE不可見(占空間) VISIBLE可見 GONE不可見(不佔空間)*/                }                else                {                    pb_1.setVisibility(View.VISIBLE);                }            }        });    }    @Override    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {        menu.add(0,1,0,"添加");        menu.add(0,2,1,"修改");        menu.add(0, 3, 2, "刪除");        SubMenu m = menu.addSubMenu(0, 4, 3, "子功能表");        m.add(0,41,0,"子功能表項1");        m.add(0,42,1,"子功能表項2");        m.add(0,43,2,"子功能表項3");        m.add(0,44,3,"子功能表項4");//        MenuInflater mi =getMenuInflater();//        mi.inflate(R.menu.mymenu,menu);        super.onCreateContextMenu(menu, v, menuInfo);    }    @Override    public boolean onContextItemSelected(MenuItem item) {        switch (item.getItemId())        {            case R.id.it_2:                Toast.makeText(UIActivity2.this, "觸發了添加1功能", Toast.LENGTH_SHORT).show();                break;            case R.id.it_1:                Toast.makeText(UIActivity2.this, "觸發了刪除1功能", Toast.LENGTH_SHORT).show();                break;        }        return super.onContextItemSelected(item);    }    @Override    //重寫  建立選項菜單的方法    public boolean onCreateOptionsMenu(Menu menu) {        //添加功能表項目        //純編碼方式//        menu.add(0,1,0,"添加");//        menu.add(0,2,2,"刪除");//        menu.add(0,3,1,"修改");        //載入菜單檔案方式        //1.擷取菜單載入器        MenuInflater mi =getMenuInflater();        mi.inflate(R.menu.mymenu,menu);        return super.onCreateOptionsMenu(menu);    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        //Toast.makeText(UIActivity2.this, "選中的功能表項目是" + item.getTitle(), Toast.LENGTH_SHORT).show();        //根據功能表項目的不同響應不同功能        switch (item.getItemId())        {            case 1:                Toast.makeText(UIActivity2.this, "觸發了添加功能", Toast.LENGTH_SHORT).show();                break;            case 2:                Toast.makeText(UIActivity2.this, "觸發了刪除功能", Toast.LENGTH_SHORT).show();                break;            case 3:                Toast.makeText(UIActivity2.this, "觸發了修改功能", Toast.LENGTH_SHORT).show();                break;            case R.id.it_2:                Toast.makeText(UIActivity2.this, "觸發了添加1功能", Toast.LENGTH_SHORT).show();                break;            case R.id.it_1:                Toast.makeText(UIActivity2.this, "觸發了刪除1功能", Toast.LENGTH_SHORT).show();                break;        }        return super.onOptionsItemSelected(item);    }}          

 

Android課程---用進度條改變圖片透明度

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.