首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android API 8 設置 ImageButton alpha:用 setAlpha(int) 而非 setAlpha(float)

     編輯:程式設計綜合問答

API 8 (Android 2.2) 中 View.setAlpha(float) 不存在(API 11+ 引入),需用 setAlpha(int) (0-255) 設置透明度。

代碼對比

// API 11+
imageButton.setAlpha(0.5f); // float 0.0-1.0

// API 8 兼容
imageButton.setAlpha(128); // int 0-255,128 约 50%

版本適配封裝

public static void setAlpha(View view, float alpha) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        view.setAlpha(alpha);
    } else {
        view.setAlpha((int) (alpha * 255));
    }
}

XML 替代:背景透明度

<ImageButton
    android:background="@null"
    android:src="@drawable/icon"
    android:alpha="0.5" /> <!-- API 11+ -->

API 8 用 int 透明度,封裝兼容方法統一調用介面。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved