復習 1(Android)

1.收獲

一個月的集訓雖然過去了,但是我們也不能放飛自我,還是繼續努力,學了并不代表你一定就會,學了并不代表你就記住了,學了并不代表你就不學了。我們就是要好好利用一個空閑的時間把自己以前不懂的,忘記的可以好好的去看一看,理解一下,去問一下,只有這樣才能夠提升自己,讓自己不斷進步,自己也明白,單靠自己的努力是不行的,還有方法,有了正確的方法,就可以節省很多的時間,這些事件有可以拿來做其他的事。人在做,天在看?。?/strong>

2.技術

(1)TearCloth項目的重寫
(2)修改項目的圖標和名稱
(3)在TearCloth項目中的Bitmap和matrix的使用

3.技術的實際應用與實踐

(1)TearCloth項目的重寫
說實話在重寫的過程中自己還遇到了許多的問題,但是自己不管事在網上查找還是問別人最終還都解決了的。

首先,我么在xml文件中進行圖片操作,由于在這個項目中會有圖片的重疊,我們就選擇了FrameLayout的布局方式

<ImageView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:src="@drawable/bg"/>
<ImageView
       android:id="@+id/iv_backgrand"
       android:src="@drawable/bg"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       />

然后再MainActivity.java中進行操作

 //配置界面
        setContentView(R.layout.activity_main);
        //找到容器里面的圖片視圖控件
        //findViewByid
        final ImageView forgound=findViewById(R.id.iv_backgrand);
        //將需要操作的圖片讀取出來 Bitmap
        //BitmapFactory 用于管理位圖
        //decodeResource 從工程的資源路徑中去生成一張位圖
        //getResources() 獲取工程的資源
        //R.drawable.fr  訪問資源路徑下 drawable里面的一個文件名為fr的資源
        Bitmap orgBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.fr);
        //不能在原圖上進行操作 要進行copy一份
        //操作這張圖片 用透明色去替換某個位置的顏色
        //不能操作原圖 只能拷貝一份
        final Bitmap bitmap=Bitmap.createBitmap(orgBitmap.getWidth(),orgBitmap.getHeight(),orgBitmap.getConfig());
        //創建一個畫板
        Canvas canvas=new Canvas(bitmap);
        //創建一支筆
        Paint paint=new Paint();
        //創建一個矩陣
        final Matrix matrix=new Matrix();
        //平移
        //matrix.setTranslate(500,10);
        //縮放  set只作用一次 post可作用多次
        //matrix.setScale(-1f,1f);
        //matrix.postTranslate(orgBitmap.getWidth(),0);
        //旋轉
        //matrix.setRotate(180,480,800);
        //畫一幅畫
        canvas.drawBitmap(orgBitmap,matrix,paint);
        //顯示一幅畫 最開始的上面的
        forgound.setImageBitmap(bitmap);
        //進行操作 添加觸摸事件
        //給前景圖片添加touch事件
        //當有觸摸事件發生 系統就會將這個事件接收并回調這個事件
        forgound.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                //獲取事件
                int action=motionEvent.getAction();
                //判斷是什么事件
                if(action==MotionEvent.ACTION_MOVE){
                    //得到出沒的坐標
                    int x=(int) motionEvent.getX();
                    int y=(int) motionEvent.getY();
                    //改變像素 以及周圍的像素
                    for (int i = 0; i<=30; i++) {
                        for (int j = 0; j <=30; j++) {
                             bitmap.setPixel(x+i,y+j,Color.TRANSPARENT);
                        }
                    }
                    //將操作的圖片放到容器中
                    forgound.setImageBitmap(bitmap);
                }
                return true;
            }
        });
    }

在接下來的第三點中我們就來解釋一下MainActivity.java一些比較不容易理解的點

(2)修改項目的圖標和名稱
當我們做完一個項目后,加入對自己的項目名稱不滿意怎末辦,對項目的圖標不滿意怎末辦,應為項目的圖標是系統自己弄的

A.修改項目的名稱

首先我們找的res下面的values的string.xml文件:


image.png

然后再在里面進行修改:


image.png

B.修改項目圖標
當我們在做一個項目時,項目的圖標是由系統來定的,如果我們想要修改項目圖標的話,就需要滿足一定的條件,就是圖標的像素(大?。┡c系統的一樣。

image.png

那我們怎么知道系統圖標的大?。?br> 我們先找到res下面的mipmap資源,找到ic_launcher文件,然后打開里面的圖片文件


image.png

image.png

此時我們需要自己進行制作圖標,圖標做好后將圖標拖到mipmap資源就可以了:


image.png

然后我們要對一些代碼進行修改:
先找到AndroidMainfest.xml,然后打開它


image.png
image.png

(3)在TearCloth項目中的Bitmap和matrix的使用

Android中的圖片處理(Bitmap)

  • Bitmap:這是一個對圖像進行操作的方法,Bitmap相當于是一個畫架。
  • 將需要操作的圖片讀取出來 Bitmap
  • BitmapFactory 用于管理位圖
  • decodeResource 從工程的資源路徑中去生成一張位圖
  • getResources() 獲取工程的資源
  • R.drawable.fr 訪問資源路徑下 drawable里面的一個圖片的資源
Bitmap orgBitmap=BitmapFactory.decodeResource(getResources(),R.drawable.fr);

不能在原圖上操作所以我們要重新要復制一份
//先得到原位圖圖的大小和屬性

Bitmap bitmap=Bitmap.creatBitmap(orgBitmap.getWidth(),orgBitmap.getHeight(),orgBitmap.getConfig())

//創造一個畫板 屬于bitmap的畫板

Canvas canvas=new Canvas(bitmap);

//創造一支筆

Paint panit=new Paint();

//創造一個矩陣 對復制過來的圖片進行創造

Matrix matrix=new Matrix();(下面講解Matrix的用法)

//在畫板上畫出 按照原圖改變的

Canvas.drawBitmap(orgBitmap,matrix,print);

//在背景圖上顯示改變后的圖片

Forground.setImageBitmap(bitmap);

//然后就是添加觸摸按事件 監聽者(背景圖片的監聽者 )

forground.setOnTouchListener(new View.OnTouchListener)
image.png

image.png

image.png
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,143評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,553評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,620評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,416評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,940評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,170評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,709評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,597評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,029評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,407評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,663評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,403評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,746評論 2 370

推薦閱讀更多精彩內容

  • ¥開啟¥ 【iAPP實現進入界面執行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,477評論 0 17
  • 屏幕適配 屏幕適配的概念 碎片化既是 Android 的優勢和弱點,也是開發者們頭疼的問題,同時也為 Androi...
    s酸菜閱讀 9,834評論 9 58
  • 1. 前言 11月分勞務派遣進了家大公司orz,開始一個新的項目。當我將一張切圖分別放在drawable的各個dp...
    AItsuki閱讀 38,768評論 25 147
  • 7.1 壓縮圖片 一、基礎知識 1、圖片的格式 jpg:最常見的圖片格式。色彩還原度比較好,可以支持適當壓縮后保持...
    AndroidMaster閱讀 2,532評論 0 13
  • 1、Exception和Error有什么區別? 典型回答: Exception和Error都是繼承了Throwab...
    氨基鈉閱讀 244評論 0 0