Android圖片突出
概述
今天有個群友問 圖片凸出 效果怎麼弄,早以前有過類似的需求,整個專案的提示框都是一個背景,背景上方有凸出半張圖片,所以用layer-list寫了一個背景來實現
隨便畫了一下比較醜,大概就是這個樣子了,從上圖中應該不難看出,有三個部分,頂部為透明的,底部是有色值的,那個六角星就是凸出來的圖片。
那麼就來動手唄,新建一個資原始檔,用layer-list屬性,裡面用三個item,第一個item設定高度為30dp,第二個item設定top為30dp,就剛好是個垂直佈局,第三個item包含一個bitmap標籤,作用是為了保持圖片的原大小。
xml version="1.0" encoding="utf-8"?>
layer-list xmlns:android="">
item>
<!--30dp 透明-->
shape>
size android:height="30dp" />
corners android:radius="10dp" />
solid android:color="@android:color/transparent" />
shape>
item>
<!--下偏移30dp-->
item android:top="30dp">
shape>
corners android:radius="10dp" />
solid android:color="@android:color/white" />
shape>
item>
<!--用 bitmap 標籤來保持原大小-->
item>
bitmap
android:gravity="center_horizontal|top"
android:src="@mipmap/ic_sync" />
item>
layer-list>
xml version="1.0" encoding="utf-8"?>
layer-list xmlns:android="">
item>
<!--30dp 透明-->
shape>
size android:height="30dp" />
corners android:radius="10dp" />
solid android:color="@android:color/transparent" />
shape>
item>
<!--下偏移30dp-->
item android:top="30dp">
shape>
corners android:radius="10dp" />
solid android:color="@android:color/white" />
shape>
item>
<!--用 bitmap 標籤來保持原大小-->
item>
bitmap
android:gravity="center_horizontal|top"
android:src="@mipmap/ic_sync" />
item>
layer-list>
layout 設定根節點背景 android:background="@drawable/bg_money_dialog"
[html]
xml version="1.0" encoding="utf-8"?><!--背景 bg_money_dialog-->
LinearLayout xmlns:android=""
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_money_dialog"
android:orientation="vertical">
EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:hint="請輸入提現金額" />
EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:hint="請輸入提現密碼" />
Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="確認" />
LinearLayout>
dialogFragment程式碼
[java]
public class CheckoutMoneyDialog extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.fragment_checkout_money_dialog, null);
builder.setView(view);
Dialog dialog = builder.create();
return dialog;
}
}
效果不佳,可能需要把 EditText 設定一下 layout_marginTop
layout_marginTop="100dp" 後確實圖片沒有疊在 EditText 之上,可頂部還是沒有透明效果,這個原因是由於dialog背景引起的,需然layout透明,可dialog自身也是有背景的,我們把dialog背景透明一下
[java]
Dialog dialog = builder.create();
Window window = dialog.getWindow();
window.setBackgroundDrawableResource(android.R.color.transparent);
return dialog;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2471/viewspace-2814762/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android 圖片載入框架Android框架
- Android webview圖片過大AndroidWebView
- android非同步生成圖片Android非同步
- Android ImageView 清空背景圖片AndroidView
- android圖片處理,讓圖片變成圓形Android
- Android 高效安全載入圖片Android
- Android 和 iOS 圖片輪播AndroidiOS
- Android圖片快取框架GlideAndroid快取框架IDE
- Android圖片底部居中的ImageViewAndroidView
- Android生成圖片並放入相簿Android
- Android 載入網路圖片 以及實現圓角圖片效果Android
- Android 圖片高斯模糊解決方案Android
- android imageview 縮放檢視圖片AndroidView
- Android本地圖片上傳(拍照+相簿)Android地圖
- 要優雅!Android中這樣載入大圖片和長圖片Android
- Android效能優化——圖片優化(二)Android優化
- Android偽圖片載入進度效果Android
- Android儲存多張圖片到本地Android
- Android 基礎之圖片載入(二)Android
- Android圖片載入框架Fresco使用詳解Android框架
- [譯] 瞭解 Android 的向量圖片格式:`VectorDrawable`Android
- [譯] 瞭解 Android 的向量圖片格式:VectorDrawableAndroid
- Android圖片Base64加密+文字上傳Android加密
- Android圖片編碼機制(Bitmap,Skia,libJpeg)Android
- Android通過程式碼修改圖片顏色Android
- Android 中 Base64 轉換成 圖片Android
- Android之背景圖片設定為重複Android
- Android-圖片壓縮(二)-純乾貨Android
- Android-壓縮大圖到容量超小的圖片Android
- Android高德地圖貼合圖片完成手繪地圖展示Android地圖
- Android自定義View之圖片外形特效——輕鬆實現圓角和圓形圖片AndroidView特效
- Android記憶體優化之圖片優化Android記憶體優化
- Android圖片上傳到阿里雲OSS小案例Android阿里
- 直播app開發搭建,Android studio 圖片壓縮APPAndroid
- android短影片開發,圖片視差滾動Android
- Android9.0使用Glide載入圖片問題AndroidIDE
- 淺談移動端圖片壓縮(iOS & Android)iOSAndroid
- Android中OpenGL濾鏡和RenderScript圖片處理Android