Guowei Lv

11 minute read

Android custom view

In this post, we will be focusing on the Paint. Color The color in Paint has 3 parts: basic color, color filter and xfermode. Basic color There are 2 ways to set color in Paint: use setColor() and use Shader. Set color directly Two methods can be used: paint.setColor(Color.parseColor("#B90E83"); paint.setARGB(100, 255, 0, 0); There is no difference, pick whichever you like. Set color using Shader There are different types of Shader, let’s look them one by one.

Android Custom View 102 (Part I)

The basics of drawing stuff

Guowei Lv

4 minute read

Android custom view

If 101 is like a crash course, then this 102 will provide much more detail. In this 1st part, we focus on only one thing: how to draw things. Draw Color Draw the entire view with one color. public class DrawColorView extends View { … @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawColor(Color.YELLOW); } } Draw Circle Draw a circle on the view. Pay attention that all drawXXX() functions use pixel as unit.

How to use CSS Line-Height

Quirks of using line-height in CSS

Guowei Lv

2 minute read

There are 4 ways to specify line height in CSS: /* The number way/ line-height: 1.5; / The em way/ line-height: 1.5em; / The percentage way/ line-height: 150%; / The pixel way*/ line-height: 24px; In simple settings, they are pretty much interchangable. For example: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"/> <title>Document</title> <style> p { font-size: 16px; line-height: 1.5; } </style> </head> <body> <p>I'm a paragraph.</p> </body> </html> Here p can use all 4 ways and there would be no difference.

Guowei Lv

2 minute read

For JavaScript beginners (I envy all of you because your brains are not damaged by this yet), () can be a huge confusion. Example 1 const createPerson = name => {firstname: name}; console.log(createPerson("Guowei")); Of course it logs undefined. Let’s ask JavaScript what was it thinking when it executed the code. Me: Hi, JavaScript. JavaScript: Hi! Me: What the heck has happened? Where is my returned object? JavaScript: Wait.

How Scanf Works

Shows in detail how scanf works and its gotchas

Guowei Lv

3 minute read

scanf is essentially a “pattern matching” function that tries to match up groups of input characters with conversion specifications. An Example No blah blah blah, let’s see an example. int i, j; float x, y; scanf("%d%d%f%f", &i, &j, &x, &y); // input // <space><space>1-20.3-4.0e3<ret> Here is how scanf would process the new input: Skips the leading 2 spaces. Conversion specification: %d. The first nonblank input character is 1; since integers can begin with 1, scanf then reads the next character, -.