Time of Update: 2018-12-05
今天就是除夕啦,抽空來寫寫部落格。寫完就去吃年夜飯啦。在這祝大家新的一年裡事業有成,身體健康!今天來講下android
Time of Update: 2018-12-05
視窗管理是android的一個核心內容。它管理著視窗的建立和銷毀,布局和大小,焦點的控制等等。視窗可以分為兩類:一種是應用視窗,即由具體應用建立的視窗,其實其中還可以細分出父視窗和子視窗。視窗一般都會對應一個activity。一種是系統視窗,如狀態列,這類視窗由系統直接通過windowManager來建立,和activity無關。在這裡,視窗的概念其實可以說由三部分構成,一部分是用來描述視窗資訊的,由WindowState對象表示。一個WindowState對象對應一個視窗,它擁有繪製視窗所需要
Time of Update: 2018-12-05
-------------------------------------------------------------------------------domain package com.sforus.TextShangJi.domain;public class Book {private String title;private String author;private String isbn13;private String publisher;public String
Time of Update: 2018-12-05
必須知道記住:1.知道gen下面的R.java是 DO NOT MODIFY.(不可更改的!) 2.在main.xml中的每一個控制項,如果控制項加上id地址,那麼就會在r.java上加上特有的id 3.在main.xml中加入了控制項,要想在Activity中顯示出來,就必須用方法findViewById(R.id.控制項名);
Time of Update: 2018-12-05
上一篇部落格中介紹了布局最佳化的工具,層級觀察器Hierarchy Viewer和布局最佳化分析工具layoutopt。如果看過上篇部落格的會注意到,layoutopt工具提示可以將<FrameLayout/>換成<merge/>。其實<merge/>標籤在UI的結構最佳化中起著非常重要的作用,通過它可以刪減多餘的層級,達到最佳化UI的目的。 再來看一下上篇部落格中使用的架構布局的樹形結構圖:
Time of Update: 2018-12-05
最近在寫一個應用,想把設定頁面和應用頁面放在一起,這樣就能實現使用者可以即時看到自己的設定對UI的影響,從而更方便的設定使用者喜歡的介面。想了一段時間,發現用slidingDrawer這個控制項可以實現這個效果。也就是一個抽屜。拉開抽屜,佔據半個螢幕,另外半個螢幕還是顯示應用頁面。效果還是不錯的。今天就和大家分享一下android中這個抽屜效果。其實在android的lanucher就是一個抽屜,開啟它就可以看到安裝的應用。相信大家都見過用過。下面我們就來做個相同的效果,當然只是UI上差不多相同
Time of Update: 2018-12-05
歡迎轉載,但是請保留出處。http://blog.csdn.net/notice520 好久沒更新部落格了,趁著清明來寫點什麼。 今天來講下如何使用android中提供的工具最佳化我們的布局。首先我們寫一個最簡單的架構布局。<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
Time of Update: 2018-12-05
今天把這個仿iphone效果的tab寫完,這個例子參考國外rolle3k共用程式碼,感謝rolle3k。上篇部落格我們寫了一個Itab類,介紹了背景的繪製和簡單的一個圖的貼圖方法。我們繼續來完成Itab這個類,同時把他放到MainAcitvity(繼承Activity)這個類內部,這樣,整個程式只需一個類就可以了。(上篇部落格例子運行需要再建一個Activity的子類來作為lanucher)。廢話不多說了,看看代碼public static class iTab extends View{
Time of Update: 2018-12-05
很簡單,我們只要實現開機自啟動即可,android實現開機自啟動可能是移動作業系統中最簡單的了,我們只需要監聽一個開機啟動的 Broadcast(廣播)即可。首先寫一個Receiver(即廣播監聽器),繼承BroadcastReceiver,如下所示:import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import
Time of Update: 2018-12-05
package com.czp;import java.io.File;import android.app.Service;import android.content.Intent;import android.content.SharedPreferences;import android.media.MediaPlayer;import android.media.MediaPlayer.OnCompletionListener;import
Time of Update: 2018-12-05
一.項目要求要長按後拖拽的效果.網路上有一份代碼,存在兩個尚未解決的問題:1) 點擊後就拖拽,並且如果你往下滑的時候,介面會受幹擾,因為他用的是Action.Move2) 當拖拽的View跑到快接近手機螢幕邊緣時,GridView沒有向下移動.二.於是經過本人修改,實現了長按後才出現拖拽介面的效果,代碼如下:package com.pl;import com.pl.MainActivity.ImageAdapter;import
Time of Update: 2018-12-05
針對以前修改的,進行了再修改。這次就能很好的實現了長按,然後向下拖動,背景的Item也向上的效果。注要對如下函數進行了修改:private void onDrag(int x, int y){if (dragImageView != null){windowParams.alpha = 0.6f;windowParams.x = x - dragPointX + dragOffsetX;windowParams.y = y - dragPointY + dragOffsetY;// L.l("=
Time of Update: 2018-12-05
Android中View的onClick是獨立的,即一個View處理了onClick後訊息不會傳遞給父View的onClick,不處理也不會傳遞!onClick處理後甚至不會調用onItemClick!想想這是有道理的。onLongClick也是獨立的,子View無論處不處理該訊息都不會傳遞給父View。onLongClick處理後會不會調用onItemLongClick與其傳回值有關,item的onLongClick返回false時才會調用onItemLongClick。onLongClick
Time of Update: 2018-12-05
AndroidManifest.xml檔案中,<activity>元素是使用頻率最高的元素,該元素宣告了應用中的活動(Activity)。常用的形式如下: <activity android:label="@string/app_name" android:name=".HelloAndroidActivity"
Time of Update: 2018-12-05
java程式段:setContentView(R.layout.index); TabHost tabHost = (TabHost) findViewById(R.id.tabhost); // 如果沒有繼承TabActivity時,通過該種方法載入啟動tabHost tabHost.setup();
Time of Update: 2018-12-05
1、首先你的電腦要安裝好git,這個請參考git官網。2、開啟git命令視窗輸入git clone http://android.git.kernel.org/platform/frameworks/base android(此處為你自訂的檔案夾名稱,我們這裡叫android),我曾試過git clone
Time of Update: 2018-12-05
接上篇~<activity>元素 現在我們來電有趣的。這裡有一個叫Mr. Nom的例子: <activity android:name=".MrNomActivity" android:label="Mr. Nom" android:screenOrientation="portrait">
Time of Update: 2018-12-05
1:從A--Activity到達B--ActivityIntent intent = new Intent();intent.setClass(BundleDemoActivity.this, otherActivity.class);2:從A--Activity傳輸資料到B--ActivityIntent intent = new Intent();intent.setClass(BundleDemoActivity.this, otherActivity.class);Bundle
Time of Update: 2018-12-05
取得螢幕大小:DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);dm.widthPixels;dm.heightPixels;使用樣式表:在res/values下面建一張style.xml<?xml version="1.0" encoding="utf-8"?><resources><style
Time of Update: 2018-12-05
對自己現在所瞭解的layout_weight屬性進行記錄,不求全面,只求正確!layout_weight意為"權重",我的理解就是給組件設定一個顯示大小的比例。layout_weight設定一個值,會出現兩種情況。第一種:當組件的“layout_width”屬性為“fill_parent”時,值越小,組件越大。第二種:當組件的“layout_width”屬性為“wrap_content”時,值越大,組件越大。第一種情況:Xml代碼 <LinearLayout