Computer >> Máy Tính >  >> Lập trình >> Android

Làm cách nào để thay đổi kích thước Hình ảnh trong Ứng dụng Android?

Ví dụ này minh họa về Cách thay đổi kích thước Hình ảnh trong Ứng dụng Android.

Bước 1 - Tạo một dự án mới trong Android Studio, đi tới Tệp ⇒ Dự án Mới và điền tất cả các chi tiết cần thiết để tạo một dự án mới.

Bước 2 - Thêm mã sau vào res / layout / activity_main.xml.

<? xml version= "1.0" encoding= "utf-8" ?>
<RelativeLayout xmlns: android = "https://schemas.android.com/apk/res/android"
   xmlns: tools = "https://schemas.android.com/tools"
   android :layout_width= "match_parent"
   android :layout_height= "match_parent"
   android :gravity= "center"
   tools :context= ".MainActivity" >
   <ImageView
      android :id= "@+id/ivImage"
      android :layout_width= "wrap_content"
      android :layout_height= "wrap_content"
      android :layout_centerHorizontal= "true"
      android :contentDescription= "@string/app_name"
      android :src= "@drawable/ic_launcher_foreground" />
   <LinearLayout
      android :layout_width= "match_parent"
      android :layout_height= "wrap_content"
      android :layout_below= "@+id/ivImage"
      android :layout_centerHorizontal= "true" >
      <Button
         android :layout_width= "0dp"
         android :layout_height= "wrap_content"
         android :layout_marginTop= "8dp"
         android :layout_weight= "1"
         android :onClick= "uploadImage"
         android :text= "Upload Image" />
      <Button
         android :layout_width= "0dp"
         android :layout_height= "wrap_content"
         android :layout_marginTop= "8dp"
         android :layout_weight= "1"
         android :onClick= "resizeImage"
         android :text= "Resize Image" />
   </LinearLayout>
</RelativeLayout>

Bước 3 - Thêm mã sau vào src / MainActivity.java

package app.tutorialspoint.com.sample ;
import android.app.Activity ;
import android.content.Intent ;
import android.graphics.Bitmap ;
import android.net.Uri ;
import android.provider.MediaStore ;
import android.support.v7.app.AppCompatActivity ;
import android.os.Bundle ;
import android.view.View ;
import android.widget.ImageView ;
import java.io.IOException ;
public class MainActivity extends AppCompatActivity {
   ImageView ivImage ;
   public static final int PICK_IMAGE = 1 ;
   Bitmap yourBitmap ;
   @Override
   protected void onCreate (Bundle savedInstanceState) {
      super .onCreate(savedInstanceState) ;
      setContentView(R.layout. activity_main ) ;
      ivImage = findViewById(R.id. ivImage ) ;
   }
   public void uploadImage (View view) {
      Intent intent = new Intent(Intent. ACTION_GET_CONTENT ) ;
      intent.setType( "image/*" ) ;
      startActivityForResult(intent , PICK_IMAGE ) ;
   }
   public void resizeImage (View view) {
      Bitmap resized = Bitmap. createScaledBitmap ( yourBitmap , 400 , 400 , true ) ;
      ivImage .setImageBitmap(resized) ;
   }
   @Override
   public void onActivityResult ( int requestCode , int resultCode , Intent data) {
      super .onActivityResult(requestCode , resultCode , data) ;
      if (requestCode == PICK_IMAGE && resultCode == Activity. RESULT_OK ) {
         if (data == null ) {
            //Display an error
            return;
         }
         try {
            Uri imageUri = data.getData() ;
            yourBitmap =
            MediaStore.Images.Media. getBitmap ( this .getContentResolver() , imageUri) ;
            ivImage .setImageBitmap( yourBitmap ) ;
         } catch (IOException e) {
            e.printStackTrace() ;
         }
      }
   }
}

Bước 4 - Thêm mã sau vào androidManifest.xml

<? xml version= "1.0" encoding= "utf-8" ?>
<manifest xmlns: android = "https://schemas.android.com/apk/res/android"
   package= "app.tutorialspoint.com.sample" >
   <application
      android :allowBackup= "true"
      android :icon= "@mipmap/ic_launcher"
      android :label= "@string/app_name"
      android :roundIcon= "@mipmap/ic_launcher_round"
      android :supportsRtl= "true"
      android :theme= "@style/AppTheme" >
      <activity android :name= ".MainActivity" >
         <intent-filter>
            <action android :name= "android.intent.action.MAIN" />
            <category android :name= "android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
   </application>
</manifest>