사용자의 기기에 설치된 앱의 아이콘이 포함 된 HorizontalScrollView가 있습니다. 다음과 같이 코드를 읽 installedApps
장치에 설치된 모든 응용 프로그램의 PackageInfo의 ArrayList를하다수평 스크롤 뷰에서 드로어 블을 적절하게 스케일?
for(int i=0; i<installedApps.size();i++){
ImageView appIcon = new ImageView(this);
Drawable drawableAppIcon = mPackageManager.getApplicationIcon(installedApps.get(i).applicationInfo);
//drawableAppIcon.setBounds(0, 0, 55, 55);
appIcon.setImageDrawable(drawableAppIcon);
//appIcon.setScaleType(ImageView.ScaleType.CENTER_CROP);
listLayout.addView(appIcon);
}
. .XML은 다음과 같습니다 :
<HorizontalScrollView
android:id="@+id/scrollViewArcade"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/listApps"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</LinearLayout>
</HorizontalScrollView>
이의 문제는 응용 프로그램이 실행될 때, 다양한 응용이 다양한 밀도와 다양한 크기의 아이콘을 가진 끝낼 것입니다. 내 경우에 대한 모든 아이콘이 차이를 알 수없는 크기로 축소되어야하기 때문에 특히 밀도 나 해상도에 관심이 없습니다. 그러나 정확하게 모든 아이콘을 같은 크기로 만드는 방법을 알아내는 데 어려움을 겪고 있습니다. 내가 코멘트 한 첫 번째 줄 drawable...
트릭을 할 줄 알았는데, 두 번째 주석 달린 줄은 내가 gridview에서 비슷한 것을했을 때 나를 위해 일했다. 그러나이 경우에도 둘 다 그렇게하지 않는다?
또한 LinearLayout의 layout_height를 50dp와 같은 값으로 설정해 보았습니다.하지만 레이아웃에 너무 커서 아이콘이 잘 리게되었습니다. 그렇다면이 아이콘을 축소하려면 어떻게해야합니까?
편집 : 그것을 알아 내려고 관리, 나는이 이미지 뷰가 아닌 당김의 매개 변수를 편집하고 있어야합니다, 그래서이 일을 다음,
LayoutParams layoutParams = new LayoutParams(55, 55);
appIcon.setLayoutParams(layoutParams);
체크 drawableAppIcon.getIntrinsicWidth()와 getIntrinsicHeight의 일부() – pskink