1. 程式人生 > >Android菜鳥App開發,第一個App(第二天)

Android菜鳥App開發,第一個App(第二天)

package com.noodles.timelocus.view;

import android.content.Context;
import android.content.Intent;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.View;
import com.noodles.timelocus.activity.HourSet;

/**
 * 繪製一個圓環
 * Created by noodles on 2016/3/21.
 */
public class Hour24Cycle extends View implements View.OnClickListener {

    private Paint mpaint;

    private Rect mRect;

    private Context mContext;
/*    public Hour24Cycle(Context context) {
        super(context);
    }*/

    public Hour24Cycle(Context context, AttributeSet attrs) {
        super(context, attrs);
        mContext = context;
        mpaint = new Paint(Paint.ANTI_ALIAS_FLAG);
        mRect = new Rect();
        setOnClickListener(this);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        float pointX = getWidth() / 2;
        float pointY = getHeight() / 3;

        float radius = 200;

        mpaint.setColor(Color.BLUE);
        setDraw(canvas, mpaint, pointX, pointY, radius, 0, 360);
        mpaint.setColor(Color.WHITE);
        setDraw(canvas, mpaint, pointX, pointY, radius - 50, 0, 360);

        /*
         * 繪製一個24的數字
         */
        mpaint.setColor(Color.BLACK);
        mpaint.setTextSize(100);
        mpaint.getTextBounds("24", 0, 2, mRect);
        float textWidth = mRect.width();
        float textHeight = mRect.height();
        canvas.drawText("24", pointX - textWidth / 2, pointY + textHeight / 2, mpaint);


    }
    /**
     * 繪製兩個360的弧度,裡面的小圓弧為白色,外面大圓弧藍色,所以看起來像一個圓環
     */

    private void setDraw(Canvas canvas, Paint paint, float pointX, float pointY, float radius, float startAngle, float sweepAngle) {
        RectF mRectf = new RectF(pointX - radius, pointY - radius, pointX + radius, pointY + radius);
        canvas.drawArc(mRectf, startAngle, sweepAngle, false, paint);
    }

    /**
     * 跳轉到第二個頁面
     */

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(mContext, HourSet.class);
        mContext.startActivity(intent);
    }
}

相關推薦

AndroidApp開發一個App第二

package com.noodles.timelocus.view; import android.content.Context; import android.content.Intent; import android.graphics.Canvas; import android.graphics

如何搭建APP自動化測試環境一個app測試指令碼

前幾天花了點時間將app自動化測試環境安裝成功,主要由6大部分組成,分別是node.js ,Andriod SDK 安裝,Appium安裝,Python安裝,selenium安裝,Appium-Python-Client安裝。 接下來詳細介紹各個組塊的安裝過程以

一個的資料結構學習之路棧篇

棧的基本操作如下: 相關結構體: typedef int status; typedef struct { SElemType *base; //在棧建立之前和銷燬之後,base的值為NULL SElemType *top; //棧

課程四(Convolutional Neural Networks)三 周Object detection —— 0.Learning Goals

member 數據 定位 finding dataset pre intersect sta nal Learning Goals: Understand the challenges of Object Localization, Object Detection a

課程四(Convolutional Neural Networks)三 周Object detection —— 1.Practice questions:Detection algorithms

car mage 分享圖片 nbsp blog obj 分享 圖片 pos 【解釋】 tree的兩個bounding boxes 都要保留,因為交並比小於0.5;car 0.73保留;pedestrain 0.98保留;motor

程式設計番外篇:CLion執行一個HelloWorld完整版

CLion是個專業且強大的C/C++IDE,但是對於初學C/C++的新手,不建議使用,因為它太過強大,所以配置複雜,所以初學者老老實實用Dev或者vs就好。 話是這麼說,可是人總是喜歡新奇且高階的東西。所以就有了這篇博文。 1.下載CLion 你喜歡在哪裡下載都可以,我還是推薦官網。

python全棧開發中級班全程筆記第二模組 三部分 :遞迴

python全棧開發筆記第二模組 第三部分 :遞迴   一、遞迴定義及使用 定義:什麼叫遞迴?遞迴就是在函式的執行中呼叫自己  下面程式碼舉例說明: 例: def recursion(n): #設定計數 print(n) #為了能驗證呼叫自己多少次,列

系列】SQL Server跨伺服器跨例項訪問資料庫

/*** 竟然又一次來寫部落格了~是經理建議我堅持寫部落格的~看了3個月前我的第一篇部落格,也覺得很有必要 囉嗦幾句~ 一眨眼3個月過去了~本人有沒有變得NB一點了呢? 完全沒有!!!而且還變的更菜了~現在看自己寫的部落格已經有點看不懂了~真是太不幸了~ 最近單位做了一款

教程-C語言經典100示例前50

這兩天正在看基礎的演算法,在做的時候肯定不能避免的接觸了菜鳥上的經典100例,但是使用的時候發現並不是那麼的方便,因為它只是給了序號,如果查詢某一問題的話很不方便,所以做了這篇部落格,希望給自己和其他人帶來幫助!

18章第二部分類加載器機制

.html htm sat mvc vmx 部分 cin ccf tun q4xctk馴匕夢蟹瞪偈http://docstore.docin.com/tbs2857l7jrtt姓臼迫掖瓢椅http://tushu.docin.com/sina_62672239085larm

SQL Server 非聚集索引的覆蓋連線交叉和過濾 第二

在SQL Server中,非聚集索引其實可以看做是一個含有聚集索引的表,但相對實際的表來說,非聚集索引中所儲存的表的列數要少得多,一般就是索引列,聚集鍵(或RID)。非聚集索引僅僅包含源表中的非聚集索引的列和指向實際物理表的指標。 一、非聚集索引之INCLUDE   非聚集索引其實可以看做一

小米VR一體機遊戲開發日記第二

unity裝了一個晚上終於裝完了,不知道為啥要裝個VS 2017,搞得我完全不知道入口在哪?在“程式”裡面找半天沒找到在哪裡開啟,後來在安裝資料夾裡找到了unity.exe,執行居然報錯,什麼“應用程式****報錯 ”之類的。百度了一下,缺了一些dll,在這個地方找到了,ht

《Unity3D/2D遊戲開發從0到1第二版本》 書稿完結總結

        前幾天,個人著作《Unity3D/2D遊戲開發從0到1(第二版)》經過七八個月的技術準備以及近3個月的日夜編寫,在十一長假後終於完稿。今天抽出一點時間來,給廣大熱心小夥伴們彙報一下書籍概況。 17年初,隨著Unity5.6以及Unity2017Beta快速迭

3) 十分鐘學會android--建立一個APP建立簡單的用戶界面

使用 圖標 run class 屏幕寬度 情況下 不可見 文本輸入框 nes 在本小節裏,我們將學習如何用 XML 創建一個帶有文本輸入框和按鈕的界面。下一節課將學會使 APP 對按鈕做出響應——按鈕被按下時,文本框裏的內容被發送到另外一個 Acti

Android開發 」開啟一個App應用

每天進步一丟丟,連線夢與想 無論什麼時候,永遠不要以為自己知道一切   —巴普洛夫 最近玩了下Android,但遇到了一些坑,浪費了很多的時間,在此記錄一下,你若是遇到了就知道怎麼解決了 PS:建議使用電腦網頁開啟,圖片較多 開發環境 1.A

Cocos2dx釋出Android配置開發環境級入門一看就會

環境Cocos2.2.3: 1.下載adt-bundle-windows-x86_64這裡邊有Eclipse和Android SDK ,這個很方便,因為Eclipse裡Android的 SDK路徑已經給你配置好了。(找不到官網下載路徑就隨便在一個網站寫下載好了) PS:

Cordova 開發環境搭建及創建一個app

maven 環境變量配置 src 搜索 編譯 win 所有 log api 整理記錄使用cordova創建app應用程序並將其部署至Android系統移動設備上詳細過程,具體如下: 一、前期安裝環境 1. 安裝JDK(java開發工具包) 2. 安裝gradle 3. 安裝

iOS開發一個iOS程式分析——代理生命週期函式

上一篇文章中我們開發了第一個iOS應用程式,用來計算兩個整數的和,今天我們將介紹其中的兩個檔案: 1.main.m檔案 首先展開supporting Files並且開啟其下的main.m檔案,其中main函式就是應用程式的入口,main函式只是標記了一個自動釋放池自動決定何時釋放記憶體,

iOS開發一個iOS程式加法計算器

相信很多學習程式設計的人,不管是學習C,C++,JAVA,還是iOS開發用的Objective-C,入門不久就迫切地想寫點看得見的介面玩玩。當然瞭解諸如iOS架構,系統層次這些是非常必要的,但是作為入門案例,我們不妨從最直觀的地方入手!! 下面開始編寫我們的第一個iOS程式: 1.使用的

按照官網寫的一個APP出現了You need to use a Theme.AppCompat theme (or descendant) with this activity問題

這是我第一次根據Android官網指導寫的APP,連結如下: 每一步都嚴格參照了官網指導,一步一步敲程式碼、執行,結果報瞭如下錯誤: 10-08 18:08:40.878 18503 18503 E AndroidRuntime: Caused by: java.la