android 首页注册登录界面,增加视频背景效果

本文介绍了android 仿QQ,keep,小红书 动态背景、视频背景的示例代码,分享给大家,具体如下:

第一步:

public class CustomVideoView extends VideoView {

  public CustomVideoView(Context context) {

    super(context);

  }

  public CustomVideoView(Context context, AttributeSet attrs) {

    super(context, attrs);

  }

  public CustomVideoView(Context context, AttributeSet attrs, int defStyle) {

    super(context, attrs, defStyle);

  }

  @Override

  protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    //我们重新计算高度

    int width = getDefaultSize(0, widthMeasureSpec);

    int height = getDefaultSize(0, heightMeasureSpec);

    setMeasuredDimension(width, height);

  }

  @Override

  public void setOnPreparedListener(MediaPlayer.OnPreparedListener l) {

    super.setOnPreparedListener(l);

  }

  @Override

  public boolean onKeyDown(int keyCode, KeyEvent event) {

    return super.onKeyDown(keyCode, event);

  }

}


第二步,在activity 中使用  。

public class MainActivity extends AppCompatActivity implementsView.OnClickListener {

    private Custom VideoView videoview;

    private Button  btn_enter;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      // requestWindowFeature(Window.FEATURE_NO_TITLE);

      setContentView(R.layout.activity_main);

      initView();

    }

    /**

     * 初始化

     */

    private void initView() {

      btn_enter = (Button) findViewById(R.id.btn_enter);

      btn_enter.setOnClickListener(this);

      videoview = (CustomVideoView) findViewById(R.id.videoview);

      videoview.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.shipin2));


      //播放

      videoview.start();

      //循环播放

      videoview.setOnCompletionListener(newMediaPlayer.OnCompletionListener() {

        @Override

        publicvoidonCompletion(MediaPlayer mediaPlayer) {

          videoview.start();

          mediaPlayer.setOnInfoListener(newMediaPlayer.OnInfoListener() {

            @Override

            publicbooleanonInfo(MediaPlayer mp, intwhat, intextra) {

              returnfalse;

            }

          });

        }

      });

    }

    @Override

    public void onClick(View view) {

      switch(view.getId()){

        caseR.id.btn_enter:

          Toast.makeText(this,"登录成功了",Toast.LENGTH_SHORT).show();

          break;

      }

    }

    //返回重启加载

    @Override

    protected void onRestart() {

      super.onRestart();

      initView();

    }


    //防止锁屏或者切出的时候,音乐在播放

    @Override

    protected void onStop() {

      super.onStop();

      videoview.stopPlayback();

    }

  }

读取视频: 把视频放到和res/raw文件夹里面了。

第三步,布局文件。

<?xmlversion="1.0"encoding="utf-8"?>

<FrameLayout

  xmlns:android="http://schemas.android.com/apk/res/android"

  xmlns:tools="http://schemas.android.com/tools"

  android:layout_width="match_parent"

  android:layout_height="match_parent"

  >


   <!--CustomVideoView 自定义视频类的位置-->

  <application1.applicationlong.CustomVideoView

    android:id="@+id/videoview"

    android:layout_width="match_parent"

    android:layout_height="match_parent"/>


  <LinearLayout

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:gravity="top"

    android:orientation="vertical">


    <LinearLayout

      android:layout_width="match_parent"

      android:layout_height="wrap_content"

      android:layout_marginLeft="38dp"

      android:layout_marginRight="38dp"

      android:layout_marginTop="70dp"

      android:orientation="vertical">


      <EditText

        android:id="@+id/et_phone"

        android:layout_width="match_parent"

        android:layout_height="40dp"

        android:layout_gravity="center_vertical"

        android:background="@null"

        android:digits="0123456789"

        android:gravity="center_vertical"

        android:hint="请输入手机号"

        android:inputType="number"

        android:maxLength="11"

        android:maxLines="1"

        android:paddingLeft="5dp"

        android:textColor="@android:color/white"

        android:textColorHint="@android:color/white"

        android:textSize="18sp"/>


      <View

        android:layout_width="match_parent"

        android:layout_height="1dp"

        android:layout_alignParentBottom="true"

        android:background="@color/black"/>


      <EditText

        android:id="@+id/et_pwd"

        android:layout_width="match_parent"

        android:layout_height="40dp"

        android:layout_marginTop="20dp"

        android:background="@null"

        android:gravity="center_vertical"

        android:hint="请输入密码"

        android:inputType="textPassword"

        android:maxLength="11"

        android:maxLines="1"

        android:paddingLeft="5dp"

        android:textColor="@android:color/white"

        android:textColorHint="@android:color/white"

        android:textSize="18sp"/>


      <View

        android:layout_width="match_parent"

        android:layout_height="1dp"

        android:layout_alignParentBottom="true"

        android:background="@color/black"/>


    </LinearLayout>


    <RelativeLayout

      android:layout_width="match_parent"

      android:layout_height="wrap_content"

      android:layout_marginLeft="23dp"

      android:layout_marginRight="23dp"

      android:orientation="horizontal">


      <TextView

        android:id="@+id/tv_register"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:padding="15dp"

        android:text="快速注册"

        android:textColor="@color/green"/>


      <TextView

        android:id="@+id/tv_find_pwd"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentEnd="true"

        android:layout_alignParentRight="true"

        android:layout_alignParentTop="true"

        android:gravity="right"

        android:padding="15dp"

        android:text="忘记密码?"

        android:textColor="@color/green"/>

    </RelativeLayout>

    <Button

      android:id="@+id/btn_enter"

      style="?android:attr/borderlessButtonStyle"

      android:layout_width="match_parent"

      android:layout_height="45dp"

      android:layout_gravity="center_horizontal"

      android:layout_marginLeft="30dp"

      android:layout_marginRight="30dp"

      android:layout_marginTop="20dp"

      android:background="@color/darkseagreen"

      android:text="登录"

      android:textColor="@color/white"

      android:textSize="18dp"/>

  </LinearLayout>

  </LinearLayout>

</FrameLayout>


看效果:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容