my custom theme settings for IntelliJ IDEA

Hi guys!

Would you like to have an appearance like this on your IntelliJ IDEA?

(This works fine for both Community and Ultimate version).

Screen Shot 2017-03-28 at 00.24.58

Download the JAR file here: https://drive.google.com/file/d/0B0PQXRyV7ZBrSlRxR1lzUURVS1U/view?usp=sharing

 

How to use?

It’s really easy. Go to “File” -> “Import Settings“, browse and open up the downloaded JAR file.

Restarting IntelliJ IDEA. Enjoy!

For TextView android

<TextView
// some attributes
android:shadowColor="#YourHexColorHere"
android:shadowDx="10"
android:shadowDy="10"
android:shadowRadius="7"/>

// set font style
// same as this article: https://davidng94.wordpress.com/2016/01/02/use-your-custom-font-in-android/
Typeface typeFace = Typeface.createFromAsset(
getAssets(), "YourFontNameHere");
textView.setTypeface(typeFace);

// set gradient color
Shader shader = new LinearGradient(
0, 0, 0, textView.getTextSize(),
Color.BLUE, Color.RED,
Shader.TileMode.CLAMP);
textView.getPaint().getShader(shader);
// set pattern background
Bitmap bmp = BitmapFactory.decodeResource(
getResources(),
R.drawable.yourImageInDrawableHere);
Shader shader = new BitmapShader(
bmp,
Shader.TileMode.REPEAT,
Shader.TileMode.REPEAT);
textView.getPaint().getShader(shader);

“Static initializer” in Java

See the following picture, then go ahead and take a look on the explanation at the end.

2016-07-06_23-18-35

Looking at the picture above, you can see a static block in JavaApplication class. It has no return statement, no argument, no this or super here.

This static block is a “static initializer”, It’s automatically invoked when the class is loaded on the first times (and ONLY ONE) by virtual machine, and there’s no other way to invoke it.

This static block and default constructor are not the same, the constructor will be called everytime we initialize a class. But, the static block  will be called in once (look at the picture).

TimeCalc – Tính toán thời gian

calendar

View on Github

Khai báo:

DateCalc dateCalc = new DateCalc(14, 5, 2016);

TimeCalc timeCalc = new TimeCalc();

 

 

1. Cho biết ngày dd/mm/yyyy là ngày thứ mấy: 

dateCalc.getWeekDay() => “Thursdays”

2. Tính số ngày trong tháng: 

dateCalc.getDayInMonth() => “31”

3. Đếm số ngày dựa vào 2 mốc thời gian: 

new DateCalc().countDaysBetweenTwoDate(2016, 5, 15, 2016, 1, 1)) => 135 ngày.

4. Cho biết tên của năm hiện tại theo CAN-CHI:

dateCalc.CANCHI() => “Binh Than”

5. Cho biết thế kỷ:

dateCalc.getCentury() => “21”

6. Đếm tổng số giây dựa vào 2 mốc thời gian:

timeCalc.getSecondsBetweenTwoDay(new DateCalc(15, 5, 2016), new DateCalc(13, 5, 2016)) => “172800 s”

7. Đếm tổng số phút dựa vào 2 mốc thời gian:

timeCalc.getMinutesBetweenTwoDay(new DateCalc(15, 5, 2016), new DateCalc(13, 5, 2016)) => “2880 m”

8. Đếm tổng số giờ dựa vào 2 mốc thời gian:

timeCalc.getHoursBetweenTwoDay(new DateCalc(15, 5, 2016), new DateCalc(13, 5, 2016)) => “48”

9. Tiết khí:

dateCalc.getTIETKHI() => “Tieu Tuyet”

10. Chuyển đổi âm lịch sang dương lịch:

<br />DateCalc l = new DateCalc(4, 4, 2015);
int[] solar = l.getSolar();
System.out.println(l.toString() + " to solar is: " + solar[0] + "/" + solar[1] + "/" + solar[2]);

11. Chuyển đổi dương lịch sang âm lịch:

<br />DateCalc s = new DateCalc(4, 4, 2015);
int[] lunar = s.getLunar();
System.out.println(s.toString() + " to lunar is: " + lunar[0] + "/" + lunar[1] + "/" + lunar[2]);

12. Kiểm tra năm nhuận:

dateCalc.isLeapYear() // return true if the year input is leap.

………..

 

Project đơn giản này chủ yếu phục vụ cho mục đích học tập, dành cho các bạn nào cần tham khảo có thể mở source ra xem.

Nếu có thắc mắc, muốn đóng góp hoặc phát hiện bugs có thể comment bên dưới hoặc gửi mail về địa chỉ: n@mhuy.xyz