elasticsearch入門系列">elasticsearch入門系列
778
2022-05-30
我們先實現拍照按鈕的圓形效果哈,Android開發中,當然可以找美工人員設計圖片,然后直接拿進來,不過我們可以自己寫代碼實現這個效果哈,最常用的的是用layout-list實現圖片的疊加,我們這個layout命名為btn_take_photo.xml,這是一個自定義的drawable文件,所以按照規范,我們要將它放在drawable文件夾里
注意:drawable文件夾一般是來放自定義的drawable文件的,可以將它看成自己寫的背景樣式等等哦
解釋代碼:
layer-list里面放3個item,先實現一個白色背景的橢圓,屬性android:shape="oval"是實現橢圓的
android:shape=["rectangle" | "oval" | "line" | "ring"]
shape的形狀,默認為矩形,可以設置為矩形(rectangle)、橢圓形(oval)、線性形狀(line)、環形(ring)
然后再放入一個item,這個item是一個左右上下都等長的橢圓
ok,這樣一個等邊的橢圓就做好了
接著再次放入一個一個藍色背景的橢圓
android:bottom="6dp" android:left="6dp" android:right="6dp" android:top="6dp">
android:width="1dp" android:color="@color/blue" android:dashWidth="0dp" /> 這是一個界面:activity_take_photo.xml 界面的很簡單,這里只是提供參考學習的,解釋代碼: SurfaceView是用來拍照用的,注意這個類只要和視頻或者拍照的都需要用到,不過項目里一般都是自己寫的 這些代碼只是參考互相學習,功能的話,自己還在做,所以先提供這些學習的...,希望可以幫助學習的人,然后自己寫博客的目的也是對自己學習的技術進行收錄和共享,只是本著互相學習的目的 android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff"> android:id="@+id/surfaceView" android:layout_width="match_parent" android:layout_height="match_parent" /> android:id="@+id/buttonLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/pic"> android:id="@+id/panel_take_photo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:background="@color/white" android:gravity="center_vertical" android:padding="2dp"> android:id="@+id/photo_area" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_above="@id/panel_take_photo" android:layout_centerVertical="true" android:background="@color/white" android:orientation="horizontal"> android:id="@+id/camera_top" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_alignParentTop="true" android:background="@color/black"> android:id="@+id/btn_black" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentLeft="true" android:paddingBottom="10dp" android:paddingLeft="10dp" android:paddingTop="10dp" android:src="http://m.bai1xia.com/news/zb_users/upload/2022/05/20220530104519_88178." android:paddingRight="10dp" android:paddingTop="10dp" android:src="@drawable/camera_flip" /> android:id="@+id/masking" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@id/photo_area" android:layout_alignParentTop="true" /> android:id="@+id/focus_index" android:layout_width="40dp" android:layout_height="40dp" android:layout_above="@id/photo_area" android:background="@drawable/cam_focus" android:visibility="invisible" /> 提供自定義CameraGrid類: /** * 自定義的View * 照相機井字線 * */ public class CameraGrid extends View { private int topBannerWidth = 0; private Paint mPaint; public CameraGrid(Context context) { this(context,null); } public CameraGrid(Context context, AttributeSet attrs) { super(context, attrs); init(); } private void init(){ mPaint = new Paint(); mPaint.setColor(Color.WHITE); mPaint.setAlpha(120); mPaint.setStrokeWidth(1f); } private boolean showGrid = true; public boolean isShowGrid() { return showGrid; } public void setShowGrid(boolean showGrid) { this.showGrid = showGrid; } public int getTopWidth() { return topBannerWidth; } } Android
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。