短視頻APP怎麼開發截圖功能

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_gravity="center"
        android:src="@drawable/ic_launcher_background"/>
    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
    <Button
        android:id="@+id/btn_chat"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="chat"/>
    <Button
    android:id="@+id/btn_capture"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="capture"/>
 
 
</LinearLayout>
package com.example.second;
 
import android.graphics.Bitmap;
import android.os.Bundle;
 
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
 
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
 
import android.os.Handler;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
 
public class MainActivity extends AppCompatActivity implements  View.OnClickListener{
    ImageView iv=null;
    TextView tv=null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        findViewById(R.id.btn_chat).setOnClickListener(this);
        findViewById(R.id.btn_capture).setOnClickListener(this);
        iv =(ImageView)findViewById(R.id.imageView);
        tv=(TextView)findViewById(R.id.textView);
//        Toolbar toolbar = findViewById(R.id.toolbar);
//        setSupportActionBar(toolbar);
 
//        FloatingActionButton fab = findViewById(R.id.fab);
//        fab.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View view) {
//                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
//                        .setAction("Action", null).show();
//            }
//        });
    }
 
 
 
 
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
    @Override
    public void onClick(View view) {
 
        if (view.getId()==R.id.btn_chat){
            String newStr = String.format("%s\n%s%s",tv.getText().toString(),DateUtil.getNowTime(),"Hello");
            tv.setText(newStr);
        }else if (view.getId()==R.id.btn_capture){
            Bitmap bitmap = tv.getDrawingCache();
            iv.setImageBitmap(bitmap);
            mHandler.postDelayed(mResetCache,200);
        }
    }
 
    private Handler mHandler= new Handler();
    private Runnable mResetCache = new Runnable() {
        @Override
        public void run() {
            tv.setDrawingCacheEnabled(false);
            tv.setDrawingCacheEnabled(true);
 
        }
    };
}
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章