2013-07-24 4 views
0

사용자의 기기에 설치된 앱의 아이콘이 포함 된 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); 
+0

체크 drawableAppIcon.getIntrinsicWidth()와 getIntrinsicHeight의 일부() – pskink

답변

0

설정 크기 0 55 55 0에 다시 만 appIcon.setScaleType (ScaleType.CENTER_INSIDE)를 호출하십시오.

체크 아웃 setScaleType에 대한 문서 및 ScaleType

+0

이 같은 일반적인 오류를 시도, 내 생각 엔 아마도 내가 대신 그리기의 이미지 뷰에 경계를 설정해야 하는가? – mike

+0

그래, 방금 원본을 건너 뛰었 기 때문에 ImageView에서 경계를 설정한다고 생각했습니다. – npace

관련 문제