1. 程式人生 > >Android一些瑣碎知識點(不定時更新)

Android一些瑣碎知識點(不定時更新)

一、@id與@+id的區別

@id : 引用現有的資源,類似@string  這樣的做法易於統一管理。

    具體用法:

<resources>

    <item name="topview" type="id"/>
    <item name="viewpager" type="id"/>
    <item name="indicator" type="id"/>
    <item name="innerscrollview" type="id"/>
    <item name="descriptionview" type="id"/>
</resources>

@+id :如果在@後面使用“+”,表示當修改完某個佈局檔案並儲存後,系統會自動在R.java檔案中生成相應的int型別變數。變數名就

是“/”後面的值,例如,@+id/xyz會在R.java檔案中生成int xyz = value,其中value是一個十六進位制的數。如果xyz在R.java中已經存在同名

的變數,就不再生成新的變數,而該元件會使用這個已存在的變數的值。

二、用隱式intent注意的問題

1.如果你定義了其他的category,記得加上<category android:name="android.intent.category.DEFAULT" />  在addCategory可以不加入它,因為預設新增的

三、onActivityResult的用法

常見作用,一般是返回資料給啟動它的Activity

流程:1. startActivityForResult(intent, 2);//啟動你的Activity,2是請求引數,可以換其他的。用來返回時做requestCode判斷的,一一對應的。
    2. Intent intent = new Intent();
       intent.putExtra("data", "hellokitty");
       setResult(RESULT_OK, intent);//返回資料,RESULT_OK可以換其他的,用來做resultCode判斷,一一對應的。
   
[email protected]
protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub switch (requestCode){ case 2: if(resultCode == RESULT_OK){ String resultData = data.getStringExtra("data"); Toast.makeText(this, resultData, Toast.LENGTH_SHORT).show(); } break; } }


基本流程就這樣,至於傳什麼資料,再封裝就好了

四、啟動活動的最佳方法

啟動程式碼寫在你要啟動活動中,用一個方法封裝,引數就是你要傳的引數。

如:public class SecondActivity extends Activity{

public static void actionStart(Context context,String data1.String data2){

Intent it = new Intent(context,SecondActivity.class);

intent.putExtra("param1",data1);

....

context.startActivity(intent);

}

}

五、引入佈局

<include layout="@layout/title" />

六、透明度百分比轉16進位制演算法

     255*透明度百分比的結果轉換為16進位制即可,計算的有小數的,進一位取整。

    如30%    255*30% = 76.5 -->77     77轉16進製為4D

七、Button去掉陰影

android:stateListAnimator="@null"

八、佈局檔案自定義控制元件自定義屬性

xmlns:nineGridLayout="http://schemas.android.com/apk/res/com.yiban1314.yiban"  (後面是應用完整包名)

九、僅僅修改桌面圖示或者名稱

<application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_icon_merry"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:replace="android:label,Android:icon, android:theme">//這很關鍵

十、invalidate()與postInvalidate()區別

Android中實現view的更新有兩組方法,一組是invalidate,另一組是postInvalidate,其中前者是在UI執行緒自身中使用,而後者在非UI執行緒中使用。 

Android提供了Invalidate方法實現介面重新整理,但是Invalidate不能直接線上程中呼叫,因為他是違背了單執行緒模型:Android UI操作並不是執行緒安全的,並且這些操作必須在UI執行緒中呼叫。 

十一、軟鍵盤的顯示和隱藏

private InputMethodManager imm;

imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);

顯示:imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);

隱藏:imm.hideSoftInputFromWindow(et_comment.getWindowToken(), 0);

十二、控制元件獲取焦點

Android:focusableInTouchMode屬性設定為true,當觸控值設為ture,當觸控某個控制元件時,會先將焦點移動到被觸控的控制元件上,然後需要再觸控該控制元件才會響應單擊事件

十三、本地sd卡地址

Environment.getExternalStorageDirectory().getPath()+"/DCIM/Camera/VID_20170722_201000.mp4"

十四、listview隱藏分割線和滑動條

android:divider="@null"
android:scrollbars="none"


相關推薦

Android一些瑣碎知識點定時更新

一、@id與@+id的區別 @id : 引用現有的資源,類似@string  這樣的做法易於統一管理。     具體用法: <resources> <item name="topview" type="id"/> <item

JavaScript的一些重要知識點定時更新

這裡記錄我學習JavaScript過程中覺得比較重要的知識點,會隨著學習不定時更新,歡迎收藏 目錄 1.重新宣告 JavaScript 變數 2.Undefined 和 Null 輸出結果: 3.宣告變數型別 4.JavaScript 變數的作用域   &n

關於mybaties中的一些小問題定時更新

select id="searchproductInfoByQuery" resultMap="ProductMap"> SELECT * FROM (select ROWNUM RN,A.* from PRODUCTINFO A where CATALOGID=#{que

python中一些常用的函式定時更新

一、random函式 import random # 在1~20中隨機取一個數 print(random.choice(range(1, 20))) 9 # 在1~20中隨機取五個陣列成一個列表 print(random.choices(range(1, 20), k=5)) [3, 1

javascript基礎知識整理定時更新

nsh firefox 可用 splice mage true size -1 對數 1.js中真與假的定義:   真:true,非零數字,非空字符串,非空對象   假:false,數字零,空字符串,空對象(null),undefined 2.使用for循環對json進

代碼綜合後的電路對比定時更新

output pre n) sed log 會有 blank 不同 blog   這裏來記錄一下相似代碼之間的不同差異,比如同步復位與異步復位觸發器的對比,上升沿復位和下降沿復位的對比等等。這裏主要使用ISE的綜合引擎。直接附上代碼和綜合後電路圖,有些會有部分講解。

css編寫註意事項定時更新

不定 避免 選擇符 lin css代碼 單行註釋 兼容 使用 需要 CSS的編寫是需要積累的,而一個好的css編寫習慣對我們將來的成長是非常有利的,我會把我平時看到的或者遇到的會不定時的更新到這裏,不時翻一下,但求有所進步。 如果各位看官也有看法和建議,評論下,我也會更新進

《網絡》:關於計算機網絡的必備常識【無序】定時更新

cos 表示 進行 span 必備 計算 需要 設置 不能 1、交換機連接的一定是單個網絡;路由器連接的一定是多個網絡。 2、基於端口方式的劃分VLAN,同一個交換機上不同端口的網絡是不通的。 3、交換機上的trunk口不能直接與PC連接。 4、華為交換機上的端口默認全不通

MySQL常用查詢語句匯總定時更新.......

spa temp targe use 日常 下劃線 mys blank er圖 在這篇文章中我會通過一些例子來介紹日常編程中常用的SQL語句 目錄: ## 1.數據庫的建立 ## 2.常用查詢 ## 1.數據庫

算法題解題思路及代碼定時更新

希望 target 解答 時間 -s 一次 return 時間復雜度 2.3 畢業半年, 平時工作總是關註業務、架構,而卻越來越少關註性能, 也再也沒有做過任何涉及算法的工作了希望有時間把這些拉下的東西拾起來,畢竟不論是使用什麽語言,從事什麽行業,只要是程序員,算法才是真正

網絡小工具定時更新

nbsp 跟蹤 補全 可能 bsp 如果 ice 指定 get mtr 實時跟蹤路由 tranceroute 跟蹤路由 trancepath 跟中路有,顯示節點到節點的時間 ftp 連接ftp get 下載文件,到當前目錄mget 同時下載多個文件put 上傳文

Web自動化常用方法封裝定時更新

display isp 更新 after ive UC second 捕獲 expected 1.對於可能因某些原因延遲出現的瀏覽器Alert彈窗的點擊操作 public void waitAlertClick(){ WebDriverWait wait = new W

高精度模板定時更新

void 支持 rev == memset spa -s -- code 以前寫高精度基本都是抄別人的……這次要改變一下了…… 現在的高精度模板還是很簡陋的,只支持高精加,減,乘,高精除低精,高精模低精,高精快速冪,高精比較大小,沒了。 或許以後會不定期更新一下……畢竟這個

matlab常見函式總彙定時更新

1magic()隨機矩陣生成 2.eye(n)輸出n階單位方陣 3.rand(a,b)隨機矩陣 4.linspace(a,b,n)線性等分,a、b為等差數列的初值和終值,n是節點數 5.logspace(as,bf,n)等比數列 6.size(a)查驗矩陣維數 7.length(a)查驗向量

手機網頁開發學習定時更新

1.問題描述:在谷歌瀏覽器模擬器上可以點選按鈕,在安卓手機上可以點選按鈕,只有在蘋果手機上點選不上。 解決:1.如果是.net 做的網頁,你的按鈕是  <button></button>請換成<asp:button></asp:button&g

Git使用中的問題彙總定時更新...

1. 由於上傳的檔案太大導致push失敗的問題 來源: 在git管理中,不小心把資料檔案(大於100M)也放在了git資料夾中,並且已經commit了,進行push時就會失敗。 解決方法: 刪除帶有大檔案的commit版本,也就是Git 刪除具體某個提交commit的方法。

操作瀏覽器基本元素定時更新

from selenium import webdriverfrom time import sleepdriver = webdriver.Chrome()driver.get("http://www.baidu.com")#driver.maximize_window()#視窗最大化sleep(2)#顯式

有用的資料:光場相關Light Field定時更新

最後更新時間:2016年12月27日 深度圖+原始彩色影象轉化成多視角動態gif,戳這裡 這Depth真讓人振奮! 祖師爺Marc Levoy做的動畫模擬,利於理解。Flash applets on some technical aspects of photography 我們的祖師爺

馭蟲術-Python定時更新

title: Python馭蟲術 tags: Python,爬蟲,小書匠 grammar_cjkRuby: true --- 配圖正在路上。 概念、工具 以及 協議 1.爬蟲 爬蟲就是 模擬瀏覽器傳送網路請求,獲取響應,按照規則提取資料的程式 爬蟲要的就是儲存資料,只抓取不儲存毫無用處 2

常用adb命令定時更新

通過adb命令獲取Settings provider裡面的值,比如 adb shell settings get system pointer_speed 對應獲取的是Settings.System.POINTER_SPEED這個值。 adb shell settings s