android開發-更改狀態列的顏色-獲取螢幕解析度-獲取下拉框被選中的內容-判斷當前圖片框裡的圖片是否是指定的圖片-設定按鈕的監聽事件-設定下拉框的顯示內容-實現照相功能,並且在圖片框裡顯示
更改狀態列的顏色
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
在res檔案下的styles.xml檔案裡name為colorPrimaryDark的顏色引用就可以更改狀態列的顏色
獲取螢幕解析度
public int[] getpingmufenbianlv(){//獲取螢幕解析度,返回寬和高,單位是px
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int[] a=new int[]{ displayMetrics.widthPixels,displayMetrics.heightPixels};
return a;
}
獲取下拉框被選中的內容
String str = spinner.getSelectedItem().toString();
判斷當前圖片框裡的圖片是否是指定的圖片
img.getDrawable().getConstantState().equals(getResources().getDrawable(R.drawable.big_circle).getConstantState())
設定按鈕的監聽事件
按鈕.setOnClickListener(new View.OnClickListener() {
一般監聽事件的底層執行機制都是多執行緒
@Override
public void onClick(View view) {
當按鈕被點選時將會執行此區間
}
});
設定下拉框的監聽事件
spinner.setOnItemSelectedListener(this);
此方法需要傳一個AdapterView.OnItemSelectedListener型別的物件
此類是介面所以不能new只能implements AdapterView.OnItemSelectedListener
然後實現介面就可以了int i,這裡i說的是下拉框選中的是第幾個第一個為0
設定下拉框的顯示內容
public void setSpinnerText(Spinner spinner, String[] blood){
ArrayAdapter<String> adapter= new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,blood);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);//給下拉框賦值
}
實現照相功能,並且在圖片框裡顯示
//以下程式碼是為了開啟相機並將命名的照片儲存到指定位置------------------------------------------------
public void zhaoxiang(View v){
zp=getIntent().getStringExtra("p_name")+getIntent().getStringExtra("tube")
+getIntent().getStringExtra("jh")+gxfx.getText().toString();
//建立File物件,用於儲存拍照後的圖片
File outputImage=new File(getExternalCacheDir(),zp+".jpg");
try{
if (outputImage.exists())
{
outputImage.delete();
}
outputImage.createNewFile();
}catch (IOException e)
{
e.printStackTrace();
}
if (Build.VERSION.SDK_INT>=24){
imageUri= FileProvider.getUriForFile(this,
"com.example.administrator.ycyy_dc.fileprovider",outputImage);
//"com.example.administrator.ycyy_dc.fileprovider"此字串為關鍵字.getUriForFile()方法會去AndroidManifest.xml裡找以下配置
//<provider
// android:name="android.support.v4.content.FileProvider"
// android:authorities="com.example.administrator.ycyy_dc.fileprovider"
// android:exported="false"
// android:grantUriPermissions="true">
// <meta-data
// android:name="android.support.FILE_PROVIDER_PATHS"
// android:resource="@xml/file_paths" /> //android:resource="@xml/file_paths" />又會去找res下的xml資料夾下的
// </provider> //file_paths.xml
//<?xml version="1.0" encoding="utf-8"?>
//<paths xmlns:android="http://schemas.android.com/apk/res/android">
// <external-path
// name="my_image"
// path="/" />
//</paths>
}else{
imageUri= Uri.fromFile(outputImage);
}
// 啟動相機程式
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
startActivityForResult(intent,1);
}
//以上程式碼是為了開啟相機並將命名的照片儲存到指定位置------------------------------------------------
//以下程式碼是為了顯示照片----------------------------------------------------------------------------
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
int iw,ih,vw,vh;
//使用者操作完成,結果碼返回是-1,即RESULT_OK
if(resultCode==RESULT_OK){
if(imageUri!=null){
try {
//此處是為了照片顯示時具有訪問許可權
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},1);
}
//將拍攝的照片顯示出來
// Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri));
BitmapFactory.Options option = new BitmapFactory.Options();
option.inJustDecodeBounds = true;
//BitmapFactory.decodeFile(imageUri.getPath(),option);
BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri),null,option);
iw = option.outWidth;
ih = option.outHeight;
vw = imageView.getWidth();
vh = imageView.getHeight();
int scaleFactor = Math.min(iw/vw,ih/vh);
option.inJustDecodeBounds = false;
option.outHeight = 174;
//option.outWidth = 368;
option.inSampleSize = 10;
Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(imageUri),null,option);
imageView.setImageBitmap(bitmap);
}catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}else{
//操作錯誤或沒有選擇圖片
Log.i("MainActivtiy", "operation error");
}
super.onActivityResult(requestCode, resultCode, data);
}
相關文章
- 圖片設定level-list,根據不同狀態顯示不同圖片
- javascript如何獲取指定元素內的所有圖片JavaScript
- BMP圖片的複製#顯示到螢幕
- JavaScript操作下拉框動態顯示內容JavaScript
- 使用jpeg圖片庫,顯示圖片並簡單實現LCD的觸屏功能
- Swift 實現更改圖片的顏色Swift
- img圖片無法顯示利用onerror事件顯示替代圖片Error事件
- Unity從圖片的位元組資料裡面獲取圖片的寬和高Unity
- 動態更改svg圖片的顏色SVG
- iOS設定tabbar不顯示文字,只顯示圖片iOStabBar
- ImageView的屬性android:scaleType設定最佳比例圖片顯示ViewAndroid
- 上傳封面圖片前臺不顯示 Picture檔案裡可以看到上傳的圖片
- js將選擇的圖片顯示在img中JS
- Qt中按鈕背景圖片的切換設定QT
- 用SVG的圖片格式如何劃入更改圖片的顏色?SVG
- Android radioButton只設定圖片是居中顯示Android
- iOS 左滑按鈕(UITableViewRowAction)顯示圖片iOSUIView
- Android學習筆記:如何設定ImageView中圖片的顯示方式Android筆記View
- CSS圖片的灰色顯示效果CSS
- ImageView顯示網路上的圖片View
- Chrome 獲取網頁顏色(文字、圖片)Chrome網頁
- asp 獲取圖片的 大小 和畫素 ,解析度,以及壓縮圖片
- 從資料庫中的表取幾張圖片,用flash形式動態的顯示圖片資料庫
- jquery獲取圖片的真實大小jQuery
- JavaScript獲取圖片的真實大小JavaScript
- 使用程式碼獲得Hybris Commerce裡顯示的產品圖片
- Android 開源圖片裁剪工具、圖片顯示工具分享Android
- 獲取網路圖片的大小
- javascript如何獲取圖片的高度JavaScript
- 獲取SDWebImage下載的圖片Web
- 帝國cms內容頁圖片自動獲取alt和title的方法
- JS控制圖片顯示的大小(圖片等比例縮放)JS
- 獲取app 圖片APP
- 網頁圖片不能顯示 網頁圖片顯示不出來的解決辦法網頁
- Overleaf中插入pdf圖片只顯示圖片路徑的解決方式
- 為input文字框設定背景圖片
- win10系統設定資料夾顯示圖片解析度的方法Win10
- Swift iOS : 裝入webview時,如何讓圖片都顯示在螢幕內SwiftiOSWebView