这节主要讲我是如何通过XML创建一个简单的登陆Activity
Android的所有UI组件都是建立在View、ViewGroup基础之上的;ViewGroup组件是不可见的,主要用来对View组件布局的,比如网络,水平,垂直布局;View都是些可见的小组件,比如Text、Button等。下图是ViewGroup、View组件层次图,可以看出他们采用的是组合设计模式来设计Android的UI。
下来创建第一个Activity界面,下面是具体的xml。
<span style="font-size:18px;"> <LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/linearLayout">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="UserName:"
android:id="@+id/userNameText"
android:textSize="65px" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/userNameEditText"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/linearLayout2">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PassWord:"
android:id="@+id/passWordTextView"
android:textSize="65px" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/passwordEditText"
android:layout_weight="1" />
</LinearLayout>
</span>
我们使用了LinearLayout来布局,在Studio中,选择LinearLayout,按住Ctrl,点击鼠标左键,会发现LinearLayout是ViewGroup的子类。同样也会发现Button、TextView等都是View的子类。关于这些小组件属性建议查阅android文档【官方:https://developer.android.com/training/basics/firstapp/building-ui.html或者翻译:http://hukai.me/android-training-course-in-chinese/basics/firstapp/building-ui.html】
具体Activity对应的代码:
<span style="font-size:18px;">//Login.java
public class Login implements Serializable {
private static final long serialVersionUID = 1;
public String userNmae;
public String password;
public void setUserNmae(String userNmae) {
this.userNmae = userNmae;
}
public void setPassword(String password) {
this.password = password;
}
}
//LoginActivity.java
public class LoginActivity extends AppCompatActivity {
public final static String SER_KEY = "com.uudou.key";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);//android学习1# 讲了需要先调用父类的onCreate方法
setContentView(R.layout.activity_login);//按照activity_login.xml布局绘图<span id="transmark"></span>
}
}
</span>