2014-10-30 153 views
3

我想改變我的ProfilePictureView(過小)的大小,但我無法通過XML做到這一點:改變profilepictureview的大小:Facebook的:preset_size沒有效果

 <com.facebook.widget.ProfilePictureView 
     android:id="@+id/userProfilePicture" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_gravity="center" 
     android:gravity="center_horizontal" 
     facebook:preset_size="large" 
     /> 

我已經嘗試過小,大和正常,但尺寸保持不變,就像該線沒有效果一樣。 你們可以告訴代碼有什麼問題嗎?或者如何改變profilepictureview的大小(通過Java或XML)。

謝謝:)

+0

給DP大小高度ñ寬度N嘗試.. – 2014-10-30 11:18:03

+0

都能跟得上。不會改變一個事物......無論我給高度和寬度賦予什麼值,尺寸都保持不變......:/ – RidRoid 2014-10-30 20:14:06

回答

1

一直在努力解決好幾天這個問題,我想出了這個解決辦法: 我看了一下類ProfilePictureView,發現這個:

private int getPresetSizeInPixels(boolean forcePreset) { 
    int dimensionId; 
    switch (presetSizeType) { 
     case SMALL: 
// this is the line we need to edit, since the image always loads on a small size.. 
      dimensionId = R.dimen.com_facebook_profilepictureview_preset_size_small; 
      break; 
     case NORMAL: 
      dimensionId = R.dimen.com_facebook_profilepictureview_preset_size_normal; 
      break; 
     case LARGE: 
      dimensionId = R.dimen.com_facebook_profilepictureview_preset_size_large; 
      break; 
     case CUSTOM: 
      if (!forcePreset) { 
       return ImageRequest.UNSPECIFIED_DIMENSION; 
      } else { 
       dimensionId = R.dimen.com_facebook_profilepictureview_preset_size_normal; 
       break; 
      } 
     default: 
      return ImageRequest.UNSPECIFIED_DIMENSION; 
    } 

去Facebook的styles.xml(RES \值\ styles.xml)和編輯該行:

<dimen name="com_facebook_profilepictureview_preset_size_small">100dp</dimen> 

的默認值是50。

結果令人滿意!

ProfilePictureView

3
在Java代碼中

可以使用setPresetSize(your_preferred_size)

你可以選擇之間:

ProfilePictureView.LARGE 
ProfilePictureView.NORMAL 
ProfilePictureView.SMALL 
ProfilePictureView.CUSTOM