@@ -4,9 +4,9 @@ import android.content.Context;
import android.graphics.Bitmap ;
import android.graphics.BitmapFactory ;
import android.graphics.drawable.BitmapDrawable ;
import android.graphics.drawable.ColorDrawable ;
import android.text.TextUtils ;
import android.util.AttributeSet ;
import android.view.View ;
import android.widget.ImageView ;
import android.widget.ImageView.ScaleType ;
import android.widget.LinearLayout ;
@@ -55,8 +55,8 @@ public class BackgroundView extends RelativeLayout {
LogUtils . d ( TAG , " === initView 启动 === " ) ;
// 1. 配置当前控件:全屏+透明
setLayoutParams ( new LayoutParams ( LayoutParams . MATCH_PARENT , LayoutParams . MATCH_PARENT ) ) ;
setBackgroundColor( 0x00000000) ;
setBackground( new ColorDrawable( 0x00000000) ) ;
// setBackgroundColor( 0x00000000) ;
// setBackground(new ColorDrawable( 0x00000000)) ;
// 2. 初始化主容器LinearLayout
initLinearLayout ( ) ;
@@ -64,8 +64,9 @@ public class BackgroundView extends RelativeLayout {
// 3. 初始化ImageView
initImageView ( ) ;
// 4. 初始设置透明背景
// 初始设置透明背景
setDefaultTransparentBackground ( ) ;
LogUtils . d ( TAG , " === initView 完成 === " ) ;
}
@@ -101,11 +102,11 @@ public class BackgroundView extends RelativeLayout {
}
public void loadBackgroundBean ( BackgroundBean bean ) {
if ( ! bean . isUseBackgroundFile ( ) ) {
if ( ! bean . isUseBackgroundFile ( ) ) {
setDefaultTransparentBackground ( ) ;
return ;
}
if ( bean . isUseBackgroundScaledCompressFile ( ) ) {
if ( bean . isUseBackgroundScaledCompressFile ( ) ) {
loadImage ( bean . getBackgroundScaledCompressFilePath ( ) ) ;
} else {
@@ -131,6 +132,8 @@ public class BackgroundView extends RelativeLayout {
setDefaultTransparentBackground ( ) ;
return ;
}
mIvBackground . setVisibility ( View . GONE ) ;
// 计算原图比例
if ( ! calculateImageAspectRatio ( imageFile ) ) {
@@ -199,9 +202,9 @@ public class BackgroundView extends RelativeLayout {
* 调整ImageView尺寸( 保持原图比例, 在LinearLayout中居中平铺)
*/
private void adjustImageViewSize ( ) {
LogUtils. d ( TAG , " === adjustImageViewSize 启动 ===" ) ;
// LogUtils.d(TAG, " === adjustImageViewSize 启动 ===") ;
if ( mLlContainer = = null | | mIvBackground = = null ) {
LogUtils. e ( TAG , " 控件为空 " ) ;
// LogUtils.e(TAG, "控件为空") ;
return ;
}
@@ -214,7 +217,7 @@ public class BackgroundView extends RelativeLayout {
public void run ( ) {
adjustImageViewSize ( ) ;
}
} , 10 ) ;
} , 12 0 ) ;
return ;
}
@@ -234,9 +237,11 @@ public class BackgroundView extends RelativeLayout {
params . height = ivHeight ;
mIvBackground . setLayoutParams ( params ) ;
mIvBackground . setScaleType ( ScaleType . FIT_CENTER ) ; // 确保居中平铺
mIvBackground . setVisibility ( View . VISIBLE ) ;
LogUtils. d ( TAG , " ImageView尺寸: " + ivWidth + " x " + ivHeight) ;
LogUtils. d ( TAG , " === adjustImageViewSize 完成 ===" ) ;
// LogUtils.d(TAG, "ImageView尺寸: " + ivWidth + "x" + ivHeight) ;
// LogUtils.d(TAG, " === adjustImageViewSize 完成 ===") ;
}
private void setDefaultTransparentBackground ( ) {