Использование силы тяжести влияет на гравитацию содержимого указанного элемента пользовательского интерфейса, это означает (в данном случае), что текст внутри EditText будет центрирован. Чтобы центрировать сам элемент пользовательского интерфейса, вам нужно определить layout_gravity, поскольку это та сила тяжести, которую элемент пользовательского интерфейса удерживает внутри своего родителя. Код, размещенный OP, будет делать горизонтальный центр, но не вертикальный центр.
В качестве альтернативы вы можете использовать RelativeLayout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/login"
android:orientation="vertical" >
<EditText
android:id="@+id/username"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/loginbutton"
android:layout_centerInParent="true"
android:text="Username"
android:textColor="#000000"
android:textSize="25dp" >
</EditText>
</RelativeLayout>