Hirdetés
- Milyen egeret válasszak?
- TCL LCD és LED TV-k
- Azonnali VGA-s kérdések órája
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Hobby elektronika
- Milyen billentyűzetet vegyek?
- Kegyvesztett lehet a Radeon termékskála középső tagja
- LG LCD és LED TV-k
- Ilyen se volt még: mégsem kell sok memória az új James Bond játékhoz
- Két 16 GB-os GeForce gyártását szüntette meg az ASUS
Új hozzászólás Aktív témák
-
domel
tag
Egy kis érdekesség karácsonyra.
MatrixEffect.javapackage hun.domel.maxrict;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
import java.util.Random;
public class MatrixEffect extends View {
private static final Random RANDOM = new Random();
private int width, height;
private Canvas canvas;
private Bitmap canvasBmp;
private int fontSize = 35;
private int columnSize;
private char[] cars = "+-*/!^'([])#@&?,=$€°|%".toCharArray();
private int[] txtPosByColumn;
private Paint paintTxt, paintBg, paintBgBmp, paintInitBg;
public MatrixEffect(Context context, AttributeSet attrs) {
super(context, attrs);
paintTxt = new Paint();
paintTxt.setStyle(Paint.Style.FILL);
paintTxt.setColor(Color.GREEN);
paintTxt.setTextSize(fontSize);
paintBg = new Paint();
paintBg.setColor(Color.BLACK);
paintBg.setAlpha(5);
paintBg.setStyle(Paint.Style.FILL);
paintBgBmp = new Paint();
paintBgBmp.setColor(Color.BLACK);
paintInitBg = new Paint();
paintInitBg.setColor(Color.BLACK);
paintInitBg.setAlpha(255);
paintInitBg.setStyle(Paint.Style.FILL);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
width = w;
height = h;
canvasBmp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
canvas = new Canvas(canvasBmp);
canvas.drawRect(0, 0, width, height, paintInitBg);
columnSize = width / fontSize;
txtPosByColumn = new int[columnSize + 1];
for (int x = 0; x < columnSize; x++) {
txtPosByColumn[x] = RANDOM.nextInt(height / 2) + 1;
}
}
private void drawText() {
for (int i = 0; i < txtPosByColumn.length; i++) {
canvas.drawText("" + cars[RANDOM.nextInt(cars.length)], i * fontSize, txtPosByColumn[i] * fontSize, paintTxt);
if (txtPosByColumn[i] * fontSize > height && Math.random() > 0.975) {
txtPosByColumn[i] = 0;
}
txtPosByColumn[i]++;
}
}
private void drawCanvas() {
canvas.drawRect(0, 0, width, height, paintBg);
drawText();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawBitmap(canvasBmp, 0, 0, paintBgBmp);
drawCanvas();
invalidate();
}
}
activity_main.xml<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<hun.domel.maxrict.MatrixEffect
android:layout_width="match_parent"
android:layout_height="match_parent" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="128dp"
android:layout_marginTop="160dp"
android:text="Button"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
A package name-t mindkét helyen javítsd a sajátodra, a MainActivity.java-hoz nem kell nyúlni
Új hozzászólás Aktív témák
- Milyen egeret válasszak?
- TCL LCD és LED TV-k
- Milyen légkondit a lakásba?
- VGA kibeszélő offtopik
- Google Pixel topik
- Formula-1
- Álláskeresés, interjú, önéletrajz
- eldiablo: 30 év után szakítottunk, de azért még beszélünk...
- Azonnali VGA-s kérdések órája
- Xiaomi 15T Pro - a téma nincs lezárva
- További aktív témák...
- AMD PC , Ultra 225 , RX 6600 XT , 16GB DDR5 , 512GB NVME , 2TB HDD
- iPhone 16 Pro, 99% akku, Garanciás
- Eladó Apple iPad Pro 11" (2021) Gen 3. + Apple Pencil Gen 2.
- 15.gen! Intel Core ULTRA 9 285K (24mag!) +16-32GB DDR5 +hűtött VRM-es Z890 lap! GAR/SZÁMLA (nevedre)
- AMD Ryzen 7800x3d - bontatlan, dobozos, garis
- Bomba ár! Dynabook Portege X30-F - i7-8565U I 16GB I 256SSD I 13,3" FHD I Cam I W11 I Garancia!
- GYÖNYÖRŰ iPhone 12 Pro Max 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS2927, 100% Akkumulátor
- Dell 14 Latitude 5430 FHD IPS i7-1255U vPro 4.7Ghz 10mag 16GB 256GB Intel Iris XE Win11 LTE Garancia
- Bomba ár! Dynabook Portege X30-L - i5-11G I 8GB I 256SSD I 13,3" FHD Sérült I Cam I W11 I Garancia!
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


