Android 제3자 컨트롤 PhotoView 사용 방법 상세 설명
이것 은 그림 조회 라 이브 러 리 로 그림 조회 기능 을 실현 하고 pinch(반죽)제스처 를 지원 하거나 확대 축 소 를 클릭 합 니 다.ViewPager 에서 페이지 를 넘 겨 그림 을 탐색 할 수 있 습 니 다.
PhotoView 는 안 드 로 이 드 이미지 뷰 에서 확장 되 어 단일/다 중 터치 로 그림 크기 를 조정 할 수 있 는 스마트 컨트롤 입 니 다.기능 이 실 용적 이 고 강하 다.
PhotoView 기능:
그림 탐색 보기
두 손가락 크기 조정
단일 터치 크기 조정
그림 크기 조정 모드 설정
기본 용법:
jar 패키지 가 져 오기,레이아웃 XML 에 PhotoView 설정
ImageView 를 PhotoView Attacher 에 전송 합 니 다.
코드 데모:
PhotoView 를 사용 하여 네트워크 그림 과 로 컬 그림 의 로 딩,크기 조정,클릭 이벤트 처 리 를 진행 합 니 다.
레이아웃 파일 중:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
>
<uk.co.senab.photoview.PhotoView
android:id="@+id/iv_photo1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<uk.co.senab.photoview.PhotoView
android:id="@+id/iv_photo2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
MainActivity 중:
public class MainActivity extends Activity {
private PhotoView iv_photo1;
private PhotoView iv_photo2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv_photo1 = (PhotoView) findViewById(R.id.iv_photo1);
iv_photo2 = (PhotoView) findViewById(R.id.iv_photo2);
// localImage();
netImage();
}
/**
*
*
*/
private void localImage() {
// ,
try {
// asset
InputStream is = getAssets().open("photo2.jpg");
Bitmap bm = BitmapFactory.decodeStream(is);
iv_photo1.setImageBitmap(bm);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
*
*/
private void netImage() {
ImageLoader loader = ImageLoader.getInstance();
loader.displayImage("https://www.baidu.com/img/bdlogo.png", iv_photo2);
iv_photo2.setOnPhotoTapListener(new OnPhotoTapListener() {
@Override
public void onPhotoTap(View arg0, float arg1, float arg2) {
Toast.makeText(MainActivity.this, " ", 10).show();
}
});
}
}
BaseApplication 중:
/**
* , ImageLoader
*
*/
public class BaseApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
initImagloader(getApplicationContext());
}
private void initImagloader(Context context) {
File cacheDir = StorageUtils.getOwnCacheDirectory(context,
"photoview/Cache");//
// ImageLoader( , ), APPLACATION ,
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
context)
//
.threadPoolSize(3).threadPriority(Thread.NORM_PRIORITY - 2)
.memoryCache(new WeakMemoryCache())
.denyCacheImageMultipleSizesInMemory()
.discCacheFileNameGenerator(new Md5FileNameGenerator())
// URI MD5
.tasksProcessingOrder(QueueProcessingType.LIFO)
.discCache(new UnlimitedDiscCache(cacheDir))//
// .defaultDisplayImageOptions(DisplayImageOptions.createSimple())
.writeDebugLogs() // Remove for release app
.build();
// Initialize ImageLoader with configuration.
ImageLoader.getInstance().init(config);//
}
}
주 목록 설정 파일 중:
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:name="com.zhhandroid.BaseApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
가 져 올 jar 패키지:photoview-library-1.2.2.jar
universal-image-loader-1.9.2_sources.jar
효과 표시:
jar 패키지 및 소스 코드:다운로드 하 다.
이 라 이브 러 리 안에 버그 가 있 습 니 다.참고이 창고
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.