一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

【Android 開發(fā)】:Android中普通按鈕的使用方法

 quasiceo 2014-04-12


   

       
        分類:
            【Android 開發(fā)】
       

    2013-05-28 23:40
    1113人閱讀
    評論(0)
    收藏
    舉報
   



   


Button控件的基本用法和TextView、EditText相似,最常用的是按鈕單擊事件。



案例一:按鈕的焦點變化



1. 主要代碼



 ......
        private int value = 1; // 用于改變按鈕的大小
 ......
        commonButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Button button = (Button) v;
                if (value == 1
                        && button.getWidth() == getWindowManager().getDefaultDisplay().getWidth()) {
                    value = -1;
                } else if (value == -1 && button.getWidth() < 100) {
                    value = 1;
                }
                button.setWidth(button.getWidth() + (int) (button.getWidth() * 0.1) * value);
                button.setHeight(button.getHeight() + (int) (button.getWidth() * 0.1) * value);

            }
        });

        imageButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

            }
        });
        /*
         * 表示當(dāng)前觸摸屏觸摸的時候會回調(diào)該方法 MotionEvent表示移動的動作,有觸摸筆,手勢,滾動球等
         * getAction():表示計算按下點與滑動后的點的之間的距離
         */

        imageButton.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_UP) {
                    v.setBackgroundResource(R.drawable.button1);

                } else if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    v.setBackgroundResource(R.drawable.button2);
                }
                return false;
            }
        });
        // 表示當(dāng)前這個控件的焦點發(fā)生變化的時候就觸發(fā)它。
        imageButton.setOnFocusChangeListener(new View.OnFocusChangeListener() {

            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) {
                    imageButton.setBackgroundResource(R.drawable.button2);
                } else {
                    imageButton.setBackgroundResource(R.drawable.button1);
                }
                // TODO Auto-generated method stub

            }
        });

        imageButton.setOnKeyListener(new View.OnKeyListener() {

            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {

                /*
                 * KeyEvent表示按下的動作,getAction()表示獲取用戶的動作方法 查看android api 文檔
                 * ACTION_UP 于 ACTION_DOWN 表示上下鍵
                 */
                // TODO Auto-generated method stub
                if (KeyEvent.ACTION_DOWN == event.getAction()) {
                    v.setBackgroundResource(R.drawable.button3);
                } else if (KeyEvent.ACTION_UP == event.getAction()) {
                    v.setBackgroundResource(R.drawable.button2);
                }
                return false;
            }
        });


2. Demo執(zhí)行結(jié)果






案例二:圖文混排的按鈕



1. 主要代碼


        SpannableString spannableStringLeft = new SpannableString("Left");
        Bitmap bitmapLeft = BitmapFactory.decodeResource(getResources(), R.drawable.image_left);
        ImageSpan imageSpanLeft = new ImageSpan(bitmapLeft, DynamicDrawableSpan.ALIGN_BOTTOM);
        //指定當(dāng)前這個位圖位于按鈕的低端
        //0-4 表示把圖片放在從0到4這些字符上面。
        spannableStringLeft.setSpan(imageSpanLeft, 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        
        SpannableString spannableStringRight = new SpannableString("Right");
        Bitmap bitmapRight = BitmapFactory.decodeResource(getResources(), R.drawable.image_right);
        ImageSpan imageSpanRight = new ImageSpan(bitmapRight);
        
        spannableStringRight.setSpan(imageSpanRight, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        button.append(spannableStringLeft);
        button.append("我的按鈕");
        button.append(spannableStringRight);


    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="120dp"
        android:orientation="horizontal" >

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableTop="@drawable/star"
            android:text="按鈕一" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawablePadding="30dp"
            android:drawableTop="@drawable/star"
            android:text="按鈕二" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/star"
            android:text="按鈕三" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:drawablePadding="30dp"
            android:drawableRight="@drawable/star"
            android:text="按鈕四" />
    </LinearLayout>

    <Button
        android:id="@+id/button"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_marginTop="10dp"/>


2. Demo效果







































更多
0





    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产户外勾引精品露出一区 | 东京热电东京热一区二区三区| 亚洲日本中文字幕视频在线观看| 肥白女人日韩中文视频| 日本最新不卡免费一区二区| 欧美日韩国产成人高潮| 亚洲中文字幕视频在线播放| 日韩欧美国产亚洲一区| 欧美精品在线观看国产| 免费久久一级欧美特大黄孕妇| 亚洲中文字幕视频在线播放| 人人妻在人人看人人澡| 国产精品午夜一区二区三区| 99精品国产一区二区青青| 国产不卡一区二区四区| 日韩中文字幕视频在线高清版| 久久99精品日韩人妻| 日韩性生活片免费观看| 成人精品视频在线观看不卡| 四季av一区二区播放| 超薄丝袜足一区二区三区| 在线观看视频日韩成人| 欧美日本道一区二区三区| 日韩一级欧美一级久久| 99久久精品午夜一区二区| 中文字幕91在线观看| 国产日韩精品欧美综合区| 国产精品日本女优在线观看| 91精品视频免费播放| 久久久免费精品人妻一区二区三区| 日韩精品一区二区三区含羞含羞草 | 国产专区亚洲专区久久| 丰满人妻熟妇乱又伦精另类视频| 欧美亚洲91在线视频| 精品国产亚洲区久久露脸| 亚洲国产成人一区二区在线观看| 最新69国产精品视频| 日韩成人动画在线观看| 日韩精品福利在线观看| 五月综合激情婷婷丁香| 中国黄色色片色哟哟哟哟哟哟|