- androidstudio快捷鍵: Ctrl+N 查找className
- Adapter中用不了getWindowManager()方法怎么辦?
答:
Android獲取屏幕大小寬度的方法有好多種,
除了getWindowManager以外
// 通過WindowManager獲取
DisplayMetrics dm =newDisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
System.out.println("heigth : " + dm.heightPixels);
System.out.println("width : " + dm.widthPixels);
還有好多種
// 通過Resources獲取
DisplayMetrics dm2 = getResources().getDisplayMetrics();
System.out.println("heigth2 : " + dm2.heightPixels);
System.out.println("width2 : " + dm2.widthPixels);// 獲取屏幕的默認分辨率
Display display = getWindowManager().getDefaultDisplay();
System.out.println("width-display :" + display.getWidth());
System.out.println("heigth-display :" + display.getHeight());
但是為什么Activity中就可以用getWindowManager吼渡,Adapter中不可以呢?
因為getWindowManager()這個方法是在類Activity中的颜曾,如果你自己編寫的類不是繼承于類Activity褐健,那么必然在這個類中書寫代碼就不能用到getWindowManager()這個方法钳幅。所以當你自己編寫的類不是繼承于類Activity物蝙,那么就只能應(yīng)用第二種方法通過Resources獲取獲取手機屏幕的大小。
- 自定義控件XML文件出現(xiàn)錯誤敢艰?茬末?
答:(1)在as中無法預覽
在自定義view的構(gòu)造函數(shù)中添加
if (isInEditMode()) { return; }
(2)setContentView(xxx)中 inflate布局文件出現(xiàn)錯誤
這是因為我在自定義view的構(gòu)造函數(shù)中有誤
自定義view的三個構(gòu)造函數(shù)都要重寫,最好一個或兩個參數(shù)的構(gòu)造函數(shù)調(diào)用this()轉(zhuǎn)到第三個構(gòu)造函數(shù)中
public DermabrasionImageView(Context context) {
this(context, null);
}
public DermabrasionImageView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public DermabrasionImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
// if (isInEditMode()) { return; }
mContext = context;
init();
}
- Bitmap一類型
- AndroidStudio 2.1.2 instantApp 有時候重新設(shè)置資源文件(比如顯示一張圖片)會顯示不出來盖矫,這時候卸載app重新啟動就好
- 圖片壓縮工具類
BitmapFactory.Options newOpts = new BitmapFactory.Options();
// 開始讀入圖片丽惭,此時把options.inJustDecodeBounds 設(shè)回true,即只讀邊不讀內(nèi)容
newOpts.inJustDecodeBounds = true;
newOpts.inPreferredConfig = Bitmap.Config.RGB_565;
// Get bitmap info, but notice that bitmap is null now
Bitmap bitmap = BitmapFactory.decodeFile(imgPath, newOpts);
為什么辈双?责掏?
答:inJustDecodeBounds為true,只讀邊界湃望,所以bitmap為null
- point和pointF有什么區(qū)別换衬?
【項目自查】
- 照片壓縮顯示要考慮不同圖片大小壓縮比例不同