Android 麦克风录音动画


源代码 RecordView.java

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Rect;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.View;
/**
 * Copyright (C), 2015/6/12, flyzhang
 * Author: flyzhang
 * Date: 2019/9/27 8:34
 * Description:
 * <p>
 * </p>
 * History:
 * <author>      <time>      <version>      <desc>
 * 作者姓名       修改时间     版本号         描述
 */
public class RecordView extends View {
   
    private int mImageW = 42;//新mic图片宽
    private int mImageH = 42;//新mic图片高
    private int mMarginTop = 25, mTextMarginBottom = 11;//mic图片居上距离 文字居底部距离
    private int SCREEN_HEIGHT = 0, SCREEN_WIDTH = 0;//屏幕宽高

    private Paint mImagePaint, mTextPaint, mVoiceRectPaint, mBackgroundPaint;//mic 文字 进度条 背景
    private int mVoiceRectW = 1, mVoiceRectH = 10, mInterval = 3, mVoiceRectMarginTop = 83; //宽、高、间隔、进度条居上距离
    private int mTextSize = 12;//文本字体大小

    private Bitmap mVoiceRecording;//mic图片
    private int mVoiceRectStart = 0, mDescriptionW = 0;//进度条开始左边位置、文字长度

    private Rect mTextRect;//计算文字长度矩形
    private String mDescription = "松开停止";

    private int mCurrentPosition = 0;//当前位置
    private int mBackgroundRound = 3;//背景圆角

    private final int COUNT = 16;//进度条格数

    public RecordView(Context context) {
   
        super(context);
        init
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio,创建一个带圆角的对话框(通常用于弹出窗口或提示信息)可以通过自定义布局以及使用`android.R.attr.shape`属性来实现。以下是一个简单的步骤: 1. **创建布局**: 使用XML文件创建一个新的对话框布局(例如`rounded_popup_window.xml`),添加一个`FrameLayout`作为根,并设置其背景为半透明的`PopupWindow`背景: ```xml <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rounded_popup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/transparent" android:padding="16dp" android:elevation="16dp"> <View android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/rounded_background"/> <!-- Your content goes here, like TextView or other views --> </FrameLayout> ``` 在这个布局,`rounded_background.xml`文件用来定义圆角背景: ```xml <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="16dp" /> <!-- 设置圆角大小 --> <solid android:color="#80000000" /> <!-- 半透明黑色背景 --> </shape> ``` 2. **创建PopupWindow**: 在Java或Kotlin代码,你可以这样创建并显示带有圆角的`PopupWindow`: ```java // 假设你已经有了一个Button或者其他触发事件的控件 Button button = findViewById(R.id.my_button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 创建一个带圆角的PopupWindow实例 PopupWindow popup = new PopupWindow(RoundedPopupWindow.this, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); // 设置布局 popup.setContentView(R.layout.rounded_popup_window); // 设置弹出位置 popup.showAtLocation(button, Gravity.CENTER, 0, 0); // 其他配置,如动画、点击后消失等 } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值