Android messing up with layouts

I've started to learn android developing recently and faced troubles with making layout looking nice.
Well, to understand basics I've decided to create a simple calculator app.
So, I'm using grid layout nested in linear layout to place buttons under text fields. Here is the source of my layout.

So, my question is:
How to make this layout fill the screen, and also how to make my app looking like this: [xiaomi calc][2]

Hoping for quick answers. Regards

[EDIT]: So, now things are way better, but I got new questions.
Now my main activity looks like this. Quite nice, in my opinion, but:
1) How to remove empty space on the right side of keyboard?
2) How to make keyboard and text view taking like 70 and 30 percents of screen respectively?

It is button element problem, its default background has some padding and it depend from chosen in app theme. To have elements bonded every button must has changed background ( in xml or in style ). Simplest example is to use color:

<Button
android:text="C"
android:background="@color/red"
/>

If You will add background to every button then there will be no spacing. To achieve better result create some drawable background with border and grey fill and set it to every button.