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);
}
相關文章
- BMP圖片的複製#顯示到螢幕
- 使用jpeg圖片庫,顯示圖片並簡單實現LCD的觸屏功能
- 動態更改svg圖片的顏色SVG
- 使用程式碼獲得Hybris Commerce裡顯示的產品圖片
- Unity從圖片的位元組資料裡面獲取圖片的寬和高Unity
- js將選擇的圖片顯示在img中JS
- 用SVG的圖片格式如何劃入更改圖片的顏色?SVG
- 上傳封面圖片前臺不顯示 Picture檔案裡可以看到上傳的圖片
- iOS 左滑按鈕(UITableViewRowAction)顯示圖片iOSUIView
- CSS圖片的灰色顯示效果CSS
- jquery獲取圖片的真實大小jQuery
- JavaScript獲取圖片的真實大小JavaScript
- Chrome 獲取網頁顏色(文字、圖片)Chrome網頁
- 獲取網路圖片的大小
- 帝國cms內容頁圖片自動獲取alt和title的方法
- QLabel顯示圖片 ,並實現縮放
- win10系統設定資料夾顯示圖片解析度的方法Win10
- Overleaf中插入pdf圖片只顯示圖片路徑的解決方式
- 下拉框select中指定option時觸發的選中事件,以及已知選中的值,將它顯示在下拉框中事件
- Java 讀取Word文字框中的文字/圖片/表格Java
- Qt獲取一張圖片的平均色(主色調)QT
- qt 設定QTextEdit文字框中指定內容塊的背景顏色QT
- Html--給圖片設定邊框0.1HTML
- flowable 獲取當前任務流程圖片的輸入流流程圖
- activiti 獲取當前任務流程圖片的輸入流流程圖
- Hybris Storefront裡產品圖片顯示不出來的分析方法
- MD語言 裡連結圖片大小的設定
- Flutter實戰: 如何同時設定Container的圖片和顏色FlutterAI
- 用label顯示帶圖片的富文字
- 使用ColorfulImg獲取圖片主題色!
- 用python寫個爬取指定網址上所有圖片,並能根據獲取到的圖片網址,進入網址,再次進行圖片獲取 的程式碼指令碼Python指令碼
- JAVA編輯word替換指定內容,解決插入圖片顯示不全問題Java
- PDF 轉換圖片然後識別圖片內容
- MATLAB學習之gif圖片讀取顯示Matlab
- 在輸入框裡直接貼上圖片
- 簡單的爬蟲:爬取網站內容正文與圖片爬蟲網站
- Java 獲取Excel中圖片所在的行、列座標位置JavaExcel
- UEditor編輯文章時貼上內容的時候導致原來的圖片不能顯示