Android開發(fā)問題總結(jié)(一)

這是日常工作中遇到的問題,匯總下來以備日后查看

1、字體修改: as下assets文件加的創(chuàng)建,修改文字的字體,目前只支持ttf格式

setTypeFace(tv_luckydraw_rule, "fonts/LanTingZhongCuHei.TTF");
/**
* 設(shè)置字體
*
* @param mTextView
* @param font
*/
private void setTypeFace(TextView mTextView, String font) {
Typeface typeFace = Typeface.createFromAsset(getAssets(), font);
mTextView.setTypeface(typeFace);
}

2、讓ExpandableListView的group取消點(diǎn)擊監(jiān)聽

listview..setOnGroupClickListener(this);
/**
* 取消group的點(diǎn)擊監(jiān)聽
*/
@Override
public boolean onGroupClick(ExpandableListView expandableListView, View view, int i, long l) {
return true;
}

3、EditText降輸入的小寫字母自動(dòng),變化為大寫字母(注:設(shè)置完之后只能輸入大寫字母)

import android.text.method.ReplacementTransformationMethod;

/**
* @author bruce.z
* 
*/
public class AllCapTransformationMethod extends ReplacementTransformationMethod {

@Override
protected char[] getOriginal() {
    char[] aa = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j','k','l','m','n','o','p','q','r','s','t','u','v',    'w','x','y','z' };
    return aa;
}

@Override
protected char[] getReplacement() {
    char[] cc = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J','K','L','M','N','O','P','Q','R','S','T','U','V',    'W','X','Y','Z' };
    return cc;
}

}
    
editext.setTransformationMethod(new AllCapTransformationMethod ());

4、TimePickerDialog,選擇0-9分鐘時(shí),顯示為10:0 10:1,要改成 10:00 10:01 的解決方式

/**
* 設(shè)置時(shí)間選擇器
*/
private void setTimePickerDialog() {
mCalendar = Calendar.getInstance();
mCalendar.setTimeInMillis(System.currentTimeMillis());
final int hour = mCalendar.get(Calendar.HOUR_OF_DAY);
int minute = mCalendar.get(Calendar.MINUTE);
new TimePickerDialog(this,new TimePickerDialog.OnTimeSetListener() {

@Override

public void onTimeSet(TimePicker view,int hourOfDay,int minute)
{

String sHour = hour < 10 ? "0" + hour : "" + hour;
String sMinutes = minute < 10 ? "0" + minute : ""
+ minute;
tv_flight_start_time.setText(sHour + ":" + sMinutes);
}

}, hour, minute, true).show();
}

5、editText設(shè)置軟鍵盤刪除鍵監(jiān)聽

editText.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View view, int i, KeyEvent keyEvent) {
                if (i == KeyEvent.KEYCODE_DEL
                        && keyEvent.getAction() == KeyEvent.ACTION_DOWN) {
                    editText.setText("");
                    return true;
                }
                return false;
            }

        });

6、應(yīng)用商店有同名的APP,需要認(rèn)領(lǐng)應(yīng)用一致的簽名寫入空包中,簽名寫入空白apk

jarsigner-verbose -keystore D:\oldClient -signedjar D:\TestSign_OK.apk D:\TestSign.apkjsj

jarsigner -verbose -keystore [您的私鑰存放路徑]-signedjar [簽名后文件存放路徑][未簽名的文件路徑] [您的證書名稱]

7、TextView過長(zhǎng)隱藏部分文字,可指定開頭,中部,結(jié)尾等

TextView中有個(gè)ellipsize屬性,作用是當(dāng)文字過長(zhǎng)時(shí),該控件該如何顯示,解釋如下:

1.android:ellipsize=”start”—–省略號(hào)顯示在開頭

2.android:ellipsize=”end”——省略號(hào)顯示在結(jié)尾

3.android:ellipsize=”middle”—-省略號(hào)顯示在中間

4.android:ellipsize=”marquee”–以跑馬燈的方式顯示(動(dòng)畫橫向移動(dòng))

還需將文字設(shè)置成maxline=1,指定固定寬度

8、解決RecycleView中item中子View,setVisibility為GONE隱藏視圖但是現(xiàn)實(shí)空白的方法

public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
    ...

    public void setVisibility(boolean isVisible){
        RecyclerView.LayoutParams param = (RecyclerView.LayoutParams)itemView.getLayoutParams();
        if (isVisible){
            param.height = LinearLayout.LayoutParams.WRAP_CONTENT;
            param.width = LinearLayout.LayoutParams.MATCH_PARENT;
            itemView.setVisibility(View.VISIBLE);
        }else{
            itemView.setVisibility(View.GONE);
            param.height = 0;
            param.width = 0;
        }
        itemView.setLayoutParams(param);
    }

    public ViewHolder(View itemView) {
        super(itemView);
        ...
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,119評(píng)論 25 708
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,355評(píng)論 0 17
  • (接讀書筆記-《結(jié)網(wǎng)》-01) 書里面提到的練習(xí)題: 9. 制作微信朋友圈的線框圖和網(wǎng)頁(yè)描述表。 10. 列出絕對(duì)...
    _陳陌先生_閱讀 563評(píng)論 0 3
  • Linux基礎(chǔ)命令學(xué)習(xí)總結(jié),隨著學(xué)習(xí)的前進(jìn),將不斷完善。網(wǎng)友們,有錯(cuò)誤之處,請(qǐng)給我留言改正喔,謝謝! 基礎(chǔ)操作 <...
    zhuenbiao閱讀 2,137評(píng)論 0 2
  • 小時(shí)候 河水很滿 村里的小伙伴們 是一群皮膚滑溜的泥鰍 在河道里鉆來鉆去 長(zhǎng)大后 我們卻成了 一只只長(zhǎng)相古怪的甲蟲...
    一團(tuán)菌閱讀 282評(píng)論 4 6

友情鏈接更多精彩內(nèi)容