Android開發(fā)踩坑

Android顏色值所支持的4個格式

Android中顏色值是通過紅(Red)、綠(Green)平道、藍 (Blue)三原色睹欲,以及一個透明度(Alpha)值來表示的,顏色值總是以井號(#)開頭一屋,接下來就是Alpha-Red-Green-Blue的形 式窘疮。其中Alpha值可以省略,如果省略了Alpha的值冀墨,那么該顏色默認是完全不透明的闸衫。
Android的顏色值支持常見的四種形式如下所示:

  • #RGB:分別指定紅、綠诽嘉、藍三原色的值(只支持0~f這16級顏色)來代表顏色楚堤。
  • #ARGB:分別指定紅疫蔓、綠含懊、藍三原色的值(只支持0f這16級顏色)及透明度(只支持0f這16級透明度)來代表顏色身冬。
  • #RRGGBB:分別指定紅、綠岔乔、藍三原色的值(支持00~ff這256級顏色)來代表顏色酥筝。
  • #AARRGGBB:分別指定紅、綠雏门、藍三原色的值(支持00fff這256級顏色)及透明度(支持00fff這256級透明度)來代表顏色嘿歌。
    上面四種形式中,A茁影、R宙帝、G、B都代表一個十六進制的數(shù)募闲,其中A代表透明度,R代表紅色的數(shù)值,G代表綠色數(shù)值实撒,B代表藍色數(shù)值桨菜。
    /**
     * 顏色透明度的轉換
     *
     * @param color color值 eg.#AARRGGBB
     * @param alpha alpha值
     * @return 最終的狀態(tài)欄顏色 A single color value in the form 0xAARRGGBB.
     */
    private static int calculateStatusColor(@ColorInt int color, int alpha) {
        float a = 1 - alpha / 255f;//不透明度
        int red = (color >> 16) & 0xff;
        int green = (color >> 8) & 0xff;
        int blue = color & 0xff;
        red = (int) (red * a + 0.5);//乘以不透明度,得到新的R的值
        green = (int) (green * a + 0.5);
        blue = (int) (blue * a + 0.5);
        return (0xff << 24) | (red << 16) | (green << 8) | blue;
    }

附:顏色透明度的轉換

當在命令行執(zhí)行javac遇到GBK不可編碼的錯誤時要出,在javac后面加上-encoding UTF-8就ok了

上傳開源庫到jcenter踩坑

注冊賬戶時別注冊錯了鸳君,個人用戶的話點這個網(wǎng)址注冊,拉到底部

在執(zhí)行如下操作的時候很慢

./gradlew install
./gradlew bintrayUpload

可在此Gradle Distributions手動下載,然后手動添加到C:\Users\asus\.gradle\wrapper\dists此目錄下,

每個gradle包的上一層目錄都有一個AndroidStudio生成的隨機字符串。我們將下載好的包放在隨機生成的字符串的下一層就行了患蹂。
開源庫更新版本./gradlew bintrayUpload

Socket通信過程中遇到的一些困惑

當pc端做server 手機端做client端的時候
進入cmd命令行輸入 ipconfig 即可查詢到電腦的ip 而任意一個地址都可作為 服務器端的主機IP地址

設置IP.png

類名.this.方法

  • 當在一個類的內部類中或颊,如果需要訪問外部類的方法或者成員域的時候,如果使用 this.成員域(與 內部類.this.成員域 沒有分別) 調用的顯然是內部類的域 传于, 如果我們想要訪問外部類的域的時候囱挑,就要必須使用 外部類.this.成員域
 public class Test{    
    public void A(){          
        System.out.println("外部類A);         
    }  

    Thread thread = new Thread(){       
        public void A() {
          System.out.println("inner A");
        }      

    thread.start();

    public void run(){           
         System.out.println("內部類run");        
         Test.this.tn();//調用外部類的A方法。          
         this.tn();//調用內部類的A方法           
     }    
}

從當前的activity跳轉到某個活動的一個fragment中

①在對應activity中使用意圖跳轉到MainActivity中格了,這里通過意圖塞入了一個標識符(更嚴謹?shù)姆绞绞峭ㄟ^請求碼和結果碼實現(xiàn))

// 登錄成功跳轉到我的京東首頁
Intent intent = new Intent(LoginActivity.this,MainActivity.class);
intent.putExtra("contactsList", 1);//跳轉到聯(lián)系人列表那個fragment
startActivity(intent);

②在MainActivity的onResume()方法中得到這個標識符看铆,并且切換到相應的Tab即可

@Override
protected void onResume() {
    int id = getIntent().getIntExtra("contactsList", 0); 
    if(id == 1 ) { 
       mTabHost.setCurrentTab(3); //3代表”聯(lián)系人列表那個fragment 的位置
    } 
    super.onResume(); 
}

比較兩個字符串是否相等

  • 比較兩個字符串是否相等應該用equals();函數(shù)而不能簡單的用”==“,因為”==“判斷的是這兩個string類型的變量的內存地址是否相同而不是兩字符串的內容。判斷兩個字符串內容是否相同應該用equals();

9.png

  • 9.png的上邊框和左邊框繪制的部分就表示當圖片需要拉伸時就拉伸黑點標記的區(qū)域,
    在下邊框和右邊框繪制的部分則表示內容會被放置的區(qū)域盛末。

gravitylayout_gravity區(qū)別

android:gravity = "";//是相對于這個控件本身
android:layout_gravity = "";//是相對于這個控件的父元素

Android MD 控件TabLayout的一些屬性

app:tabMode="fixed"
app:tabIndicatorHeight="0dp"
app:tabSelectedTextColor="@color/color_bottom_text_selected"
app:tabTextColor="@color/color_bottom_text_normal"
app:tabBackground="@null"
app:tabGravity="fill"
mViewPager.setCurrentItem(index);   //設置當前選中的fragment

開源庫 SwipeBackLayout 的使用

<item name="android:windowIsTranslucent">true</item>
  • 禁止向左向右或向下滑動可使用
getSwipeBackLayout().setEnableGesture(false);//設置默認不能滑動退出
  • 設置滑動退出方式
getSwipeBackLayout().setEdgeTrackingEnabled(SwipeBackLayout.EDGE_RIGHT);
//向右滑動退出
getSwipeBackLayout().setEdgeTrackingEnabled(SwipeBackLayout.EDGE_LEFT);
//向左滑動退出
getSwipeBackLayout().setEdgeTrackingEnabled(SwipeBackLayout.EDGE_BOTTOM);
//向下滑動退出
  • 在虛擬機中使用SwipeBackLayout時會出現(xiàn)向左滑動出現(xiàn)的是手機的主界面而不是上一個活動的界面,這個是為什么我不知道,有人知道么?

EventBus OnEventMainThread()里收不到消息

  • 需要在使用EventBus的地方注冊與解注冊弹惦,用一次就要注冊與解注冊一次
EventBus.getDefault().register(this);              //注冊
EventBus.getDefault().unregister(this);          //解注冊

變長變量

protected Void doInBackground(String... params) ;
  • ...表示變長變量:可以傳一個或多個變量進來;
    如果只傳一個參數(shù)的話就用params0獲取到那一個參數(shù),同理取得可能的更多的參數(shù).

異步線程

因為android主線程最好不要處理太多的邏輯,而界面的刷新要在主線程里執(zhí)行,所以用AsyncTask處理復雜的邏輯關系,并在處理結束之后刷新界面.其中最主要的需要重寫的方法有三個

    onPreExecute();
    doInBackground();
    onPostExecute();

This Activity already has an action bar supplied by the window decor

  • AndroidManifest.xml:
<activity android:name=".activity.YourActivity" 
            android:theme="@style/AppTheme.NoActionBar"><!-- ADD THIS LINE -->

ToolBar的使用

getSupportActionBar().setDisplayHomeAsUpEnabled(true);//設置返回箭頭
//
setDisplayHomeAsUpEnabled(true);//設置返回箭頭
setNavigationOnClickListener()//設置返回按鈕監(jiān)聽;
setNavigationViewIcon();       //設置返回按鈕左邊的按鈕悄但,同時棠隐,這個方法需要在調用過 
setSupportActionBar(ToolBar ); 之后調用才有效;
setLogo();//設置圖標檐嚣;
setDisplayUseLogoEnabled();//設置圖標是否顯示助泽。
setTitle();//設置標題
setSubTitle();//設置副標題啰扛;
setOnMenuItemListener(); //設置最右邊的選項按鈕監(jiān)聽。

PhotoView的使用

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末嗡贺,一起剝皮案震驚了整個濱河市隐解,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诫睬,老刑警劉巖煞茫,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異摄凡,居然都是意外死亡续徽,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門亲澡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钦扭,“玉大人,你說我怎么就攤上這事床绪】颓椋” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵会涎,是天一觀的道長裹匙。 經(jīng)常有香客問我,道長末秃,這世上最難降的妖魔是什么概页? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮练慕,結果婚禮上惰匙,老公的妹妹穿的比我還像新娘。我一直安慰自己铃将,他們只是感情好项鬼,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著劲阎,像睡著了一般绘盟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悯仙,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天龄毡,我揣著相機與錄音,去河邊找鬼锡垄。 笑死沦零,一個胖子當著我的面吹牛,可吹牛的內容都是我干的货岭。 我是一名探鬼主播路操,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼疾渴,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了屯仗?” 一聲冷哼從身側響起搞坝,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎祭钉,沒想到半個月后瞄沙,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡慌核,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了申尼。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垮卓。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖师幕,靈堂內的尸體忽然破棺而出粟按,到底是詐尸還是另有隱情,我是刑警寧澤霹粥,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布灭将,位于F島的核電站,受9級特大地震影響后控,放射性物質發(fā)生泄漏庙曙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一浩淘、第九天 我趴在偏房一處隱蔽的房頂上張望捌朴。 院中可真熱鬧,春花似錦张抄、人聲如沸砂蔽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽左驾。三九已至,卻和暖如春极谊,著一層夾襖步出監(jiān)牢的瞬間诡右,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工怀酷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留稻爬,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓蜕依,卻偏偏與公主長得像桅锄,于是被迫代替她去往敵國和親琉雳。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內容