綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[資訊] Activity以觸控方式換頁

[複製連結] 查看: 2475|回覆: 7|好評: 0
跳轉到指定樓層
樓主
冠龍江 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-3-21 14:34

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 冠龍江 於 2013-3-21 14:45 編輯

各位大大們安安,小弟初心者一枚,希望跟大家一起成長~~

內容實在太長了,基本上都大同小異,所以只貼上部分程式碼

有興趣的可以下載附件
裡面包含打包好的APK,因為模擬器不支援觸控,所以想測試的同好,裝到手機裡面實機測試吧(支援Android 2.3以上)!!!

這是第一頁的程式碼:

package com.touchpage;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.LinearLayout;
import android.widget.Toast;

public class FirstActivity extends Activity {
       
        /*宣告*/
        private LinearLayout rightLayout;
        private LinearLayout leftLayout;
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
               
                /*呼叫自己設計的方法*/
                changelayout();
               
        }

        private void changelayout() {
               
                /*在layout設計我採用RelativeLayout(相對版面)做排版,
                 * 在這個版面中我又多加了兩個LineatLayout只為了控制,
                 * 當我觸控其中一個LinearLayout時會跳到下一個Activity*/

               
               
                /*找到要用的元件*/
                rightLayout = (LinearLayout)findViewById(R.id.rightLayout);
                /*註冊觸控的監聽器,並實作其方法*/
                rightLayout.setOnTouchListener(new rightTouchListener());
               
                /*找到要用的元件*/
                leftLayout = (LinearLayout)findViewById(R.id.leftLayout);
                /*註冊觸控的監聽器,並實作其方法*/
                leftLayout.setOnTouchListener(new leftTouchListener());
               
        }
       
        /*當觸控到右邊的LinearLayout時*/
        class rightTouchListener implements OnTouchListener{
                @Override
                public boolean onTouch(View v, MotionEvent event){
                        if(event.getAction() == MotionEvent.ACTION_UP){
                               
                                Intent intent = new Intent();
                                intent.setClass(FirstActivity.this , SecondActivity.class);
                                startActivity(intent);
                               
                                /*提醒視窗*/
                                Toast.makeText(FirstActivity.this,
                                                       R.string.second_page,
                                                       Toast.LENGTH_SHORT)
                                                       .show();
                               
                                /*關閉當前的Activity*/
                                FirstActivity.this.finish();
                               
                        }
                        return true;
                }
        }
       
        /*當觸控到左邊的LinearLayout時*/
        class leftTouchListener implements OnTouchListener{
                @Override
                public boolean onTouch(View v, MotionEvent event){
                        if(event.getAction() == MotionEvent.ACTION_UP){
                               
                                Intent intent = new Intent();
                                intent.setClass(FirstActivity.this , ThrActivity.class);
                                startActivity(intent);
                               
                                /*提醒視窗*/
                                Toast.makeText(FirstActivity.this,
                                                       R.string.thr_page,
                                                       Toast.LENGTH_SHORT)
                                                       .show();
                               
                                /*關閉當前的Activity*/
                                FirstActivity.this.finish();
                        }
                        return true;
                }
        }
       

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.first, menu);
                return true;
        }

}


第一頁的Layout設計:
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

TouchPage.rar

3.22 MB, 下載次數: 22, 下載積分: 碎鑽 -1 個

評分

參與人數 2碎鑽 +3 幫助 +2 技術 +1 收起 理由
jack850628 + 1
ploglin + 3 + 1 + 1 很給力!

查看全部評分

收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
wind8894 | 收聽TA | 只看該作者
發表於 2013-3-23 23:34
做兩個透明的button,設click事件讓他跳頁不就好了?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| 冠龍江 | 收聽TA | 只看該作者
發表於 2013-3-24 10:31
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
xjxuvup | 收聽TA | 只看該作者
發表於 2013-3-24 21:37
結論,有做出來觸碰換頁嗎?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
 樓主| 冠龍江 | 收聽TA | 只看該作者
發表於 2013-3-25 09:38
xjxuvup 發表於 2013-3-24 21:37
結論,有做出來觸碰換頁嗎?

有做出來,偵測手指離開螢幕換頁。

評分

參與人數 1幫助 +1 收起 理由
ploglin + 1

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
whl | 收聽TA | 只看該作者
發表於 2013-3-25 17:43
程式沒有一定的寫法,必須按照當時的要求去寫,這種寫法可以讓使用者手離開後才切換 Activity 而 Button 是按下後切換 Activity ,因此各有利弊,並不是哪一種就比較好。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

7
kimmy918 | 收聽TA | 只看該作者
發表於 2013-3-25 19:50
謝謝大大ㄉ分享
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

8
sky741953 | 收聽TA | 只看該作者
發表於 2013-8-15 01:27
多謝教導 正好需要 受益良多!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則