Ⅰ android登陆界面该怎么写啊
项目的前提是已经将基本的运行环境及sdk都已经安装好了,读者可自行网络环境配置相关内容,这里不再赘述。右键点击new-->Mole,Mole相当于新建了一个项目。选择AndroidApplication,点击next将MyMole和app改成自己项目相应的名字,同时选择支持的Android版本这一步自己选择BlankActivity,自己手动编写登录界面,而不依赖系统内置的LoginActivity,一直点击next,最后点击finish就完成了项目的创建在project下可以看到出现了刚才创建的login项目res/layout,点击打开activity_main.xml文件,在这个文件里将完成登录界面的编写这是初始的主界面,还没有经过自己编写的界面,AndroidStudio有一个很强大的预览功能,相当给力将activity_main.xml的代码替换成如下代码:使用Android手机进行测试,大功告成
Ⅱ 如何使用Android Studio开发用户登录界面
界面放置用户名输入框,密码输入框,登录按钮。
获取用户名和密码,判断是否和程序中或者数据库中的值相同,如果登录服务端的,则判断返回值是否登录成功。
如果登录没有问题,登录成功,则实现界面跳转。
如果需要记住密码功能,则在登录成功后将密码(用户名)写入偏好设置或者本地数据库,再做跳转。
Ⅲ android studio登录注册
我们项目的前提是你已经将基本的运行环境及sdk都已经安装好了,读者可自行网络环境配置相关内容,本文不再赘述。右键点击new-->Mole,Mole相当于新建了一个项目。如图所示
选择Android Application,点击next
将My Mole 和app改成自己项目相应的名字,同时选择支持的Android版本
这一步我们选择Blank Activity,自己手动编写登录界面,而不依赖系统内置的Login Activity,一直点击next,最后点击finish就完成了项目的创建
在project下我们可以看到出现了我们刚才创建的login项目
展开res/layout,点击打开activity_main.xml文件,在这个文件里我们将完成登录界面的编写
这是初始的主界面,还没有经过我们编写的界面,Android Studio有一个很强大的预览功能,相当给力
我们将activity_main.xml的代码替换成如下代码:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:stretchColumns="0,3">
<TableRow>
<TextView />
<TextView
android:text="账 号:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24px"
/>
<EditText
android:id="@+id/account"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24px"
android:minWidth="220px"/>
<TextView />
</TableRow>
<TableRow android:layout_marginTop="20px">
<TextView />
<TextView
android:text="密 码:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<EditText
android:id="@+id/pwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="220px"
android:textSize="24px"
android:inputType="textPassword"/>
<TextView />
</TableRow>
<TableRow android:layout_marginTop="20px">
<TextView />
<Button
android:id="@+id/login"
android:text="登录"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/quit"
android:text="退出"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView />
</TableRow>
</TableLayout>
预览效果如图
10
使用Android 手机进行测试,大功告成
Ⅳ android注册界面怎么实现验证码
需要接入一个短信服务平台,这个是收费的,一般几分钱一条,网络一下一大堆
Ⅳ android怎么做动态的登陆界面
设计android的登录界面的方法:
UI实现的代码如下:
1、背景设置图片:
background_login.xml
<?xmlversion="1.0"encoding="utf-8"?>
<shapexmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFACDAE5"
android:endColor="#FF72CAE1"
android:angle="45"
/>
</shape>
2、圆角白框
效果图上面的并不是白框,其实框是白色的,只是设置了透明值,也是靠一个xml文件实现的。
background_login_div.xml
<?xmlversion="1.0"encoding="UTF-8"?>
<shapexmlns:android="http://schemas.android.com/apk/res/android">
<solidandroid:color="#55FFFFFF"/>
<!--设置圆角
注意:bottomRightRadius是左下角而不是右下角bottomLeftRadius右下角-->
<cornersandroid:topLeftRadius="10dp"android:topRightRadius="10dp"
android:bottomRightRadius="10dp"android:bottomLeftRadius="10dp"/>
</shape>
3、界面布局:
login.xml
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background_login">
<!--padding内边距layout_margin外边距
android:layout_alignParentTop布局的位置是否处于顶部-->
<RelativeLayout
android:id="@+id/login_div"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="15dip"
android:layout_margin="15dip"
android:background="@drawable/background_login_div_bg">
<!--账号-->
<TextView
android:id="@+id/login_user_input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="5dp"
android:text="@string/login_label_username"
style="@style/normalText"/>
<EditText
android:id="@+id/username_edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/login_username_hint"
android:layout_below="@id/login_user_input"
android:singleLine="true"
android:inputType="text"/>
<!--密码text-->
<TextView
android:id="@+id/login_password_input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/username_edit"
android:layout_marginTop="3dp"
android:text="@string/login_label_password"
style="@style/normalText"/>
<EditText
android:id="@+id/password_edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/login_password_input"
android:password="true"
android:singleLine="true"
android:inputType="textPassword"/>
<!--登录button-->
<Button
android:id="@+id/signin_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/password_edit"
android:layout_alignRight="@id/password_edit"
android:text="@string/login_label_signin"
android:background="@drawable/blue_button"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextViewandroid:id="@+id/register_link"
android:text="@string/login_register_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:textColor="#888"
android:textColorLink="#FF0066CC"/>
<ImageViewandroid:id="@+id/miniTwitter_logo"
android:src="@drawable/cat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="25dp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="25dp"/>
<ImageViewandroid:src="@drawable/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/miniTwitter_logo"
android:layout_alignBottom="@id/miniTwitter_logo"
android:paddingBottom="8dp"/>
</RelativeLayout>
</LinearLayout>
4、java源代码,Java源文件比较简单,只是实例化Activity,去掉标题栏。
packagecom.mytwitter.acitivity;
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.view.Window;
{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.login);
}
}
5、实现效果如下:
Ⅵ Android studio相对布局怎么设计一个登陆界面
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#55ffff">
<TextView
android:id="@+id/tv_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:padding="10dp"
android:background="#ffffff"
android:hint="密码"
android:textSize="15sp"
android:textColor="#000000"
android:layout_centerInParent="true"/>
<TextView
android:id="@+id/tv_user"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="#ffffff"
android:padding="10dp"
android:hint="用户名"
android:textSize="15sp"
android:layout_marginBottom="15dp"
android:textColor="#000000"
android:layout_above="@+id/tv_password"/>
<TextView
android:id="@+id/tv_forget_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_password"
android:layout_alignLeft="@+id/tv_password"
android:paddingTop="10dp"
android:text="忘记密码>"
android:textSize="14sp"
android:textColor="#ff0000" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_password"
android:layout_alignRight="@+id/tv_password"
android:paddingTop="10dp"
android:text="注册>"
android:textSize="14sp"
android:textColor="#ff0000" />
<Button
android:id="@+id/but_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="50dp"
android:layout_marginRight="50dp"
android:layout_marginTop="20dp"
android:background="#4169E1"
android:text="登录"
android:textSize="18sp"
android:textColor="#ffffff"
android:layout_below="@+id/tv_forget_password"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@mipmap/ic_launcher"
android:layout_centerHorizontal="true"
android:layout_marginBottom="30dp"
android:layout_above="@+id/tv_user"/>
</RelativeLayout>
Ⅶ Android如何实现类似于QQ登录的界面,求大神!
首先程序进入SplashActivity,就是启动页面。
xml布局文件就是一个全屏的图片,要注意的是设置android:scaleType ="matrix"这个属性。不然不会全屏。
过1秒之后转入登陆页面,从图片我们可以看出,腾讯的UI做的还是相当美观漂亮的,既简洁又不失美观。先分析一下这个登录界面,从整体可以看出,根布局的
背景色是蓝色的,而那个QQ Android其实是一个图片背景色和根布局的背景色一样,这样就不会有视觉偏差。
Ⅷ 如何使用Android Studio开发用户登录界面
右键点击new-->Mole,Mole相当于新建了一个项目。
选择Android Application,点击next
将My Mole 和app改成自己项目相应的名字,同时选择支持的Android版本
这一步我们选择Blank Activity,自己手动编写登录界面,而不依赖系统内置的Login
Activity,一直点击next,最后点击finish就完成了项目的创建
在project下我们可以看到出现了我们刚才创建的login项目
展开res/layout,点击打开activity_main.xml文件,在这个文件里我们将完成登录界面的编写
这是初始的主界面,还没有经过我们编写的界面,Android
Studio有一个很强大的预览功能,千峰扣丁学堂Android开发总结:最后将activity_main.xml的代码替换成如下代码:
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:stretchColumns="0,3">
android:text="账 号:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24px"
/>
android:id="@+id/account"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24px"
android:minWidth="220px"/>
android:text="密 码:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
android:id="@+id/pwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="220px"
android:textSize="24px"
android:inputType="textPassword"/>
android:id="@+id/login"
android:text="登录"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
android:id="@+id/quit"
android:text="退出"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
Ⅸ 俺是菜鸟,俺想做一个俺android的登陆注册功能,利用socket通信,数据库是mysql。
给段用xml传输的代码你看看吧。
客户端
package com.example.xword;
import java.io.BufferedInputStream;import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.http.util.ByteArrayBuffer;import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.data.User;
import android.os.AsyncTask;import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.support.v4.app.NavUtils;
public class UserLoginActivity extends Activity {
EditText uname; EditText upass;
Button loginbut;
User user;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_login);
uname = (EditText) findViewById(R.id.uname); upass = (EditText) findViewById(R.id.password);
loginbut = (Button) findViewById(R.id.loginbut);
loginbut.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) { // TODO Auto-generated method stub
String username = uname.getText().toString();
String userpass = upass.getText().toString();
// Toast.makeText(UserLoginActivity.this, "��ϲ",
// Toast.LENGTH_LONG).show();
LoginTask task = new LoginTask();
task.execute(username, userpass);
}
});
}
public class LoginTask extends AsyncTask<String, Integer, String> {
@Override protected String doInBackground(String... params) {
// TODO Auto-generated method stub
StringBuffer sbuf = new StringBuffer(); sbuf.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
sbuf.append("<ulogin>\n");
sbuf.append("<username>" + params[0] + "</username>\n");
sbuf.append("<password>" + params[1] + "</password>");
// sbuf.append("<image>"+imgString+"</image>");
sbuf.append("</ulogin>");
String dataString = sbuf.toString();
try {
URL url = new URL( "http://10.0.2.2:8080/androidserver/userlogin");
HttpURLConnection con = (HttpURLConnection) url
.openConnection();
con.setDoOutput(true); OutputStream os = con.getOutputStream();
os.write(dataString.getBytes());
int code = con.getResponseCode();
if (HttpURLConnection.HTTP_OK == code) {
// byte buf[]=new byte[1024]; InputStream is = con.getInputStream();
// int c=is.read(buf, 0, buf.length);
// String result=new String(buf,0,c);
System.out.println("0"); DocumentBuilderFactory dbf = DocumentBuilderFactory
.newInstance();
try {
DocumentBuilder builder = dbf.newDocumentBuilder();
Document doc = builder.parse(is);
// root <university>
// Element root = doc.getDocumentElement();
// System.err.println(root.getAttribute("name"));
// all college node
NodeList info = doc.getElementsByTagName("userid");
Node node = info.item(0); String nodeValue = node.getTextContent();
if (info == null)
return "LOGINFAIL";
if ("fail".equals(nodeValue)) {
return "LOGINFAIL";
} else { user.setUser_id(Integer.parseInt(nodeValue));
return "LOGINSUCCESS";
}
} catch (Exception e) { e.printStackTrace();
return "LOGINFAIL";
}
// //////////////////////////////////////////}
} else { return "LOGINFAIL";
}
} catch (Exception ex) { ex.printStackTrace();
return "LOGINFAIL";
}
}
@Override protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
if ("LOGINSUCCESS".equals(result)) {
Toast.makeText(UserLoginActivity.this, "登陆成功", Toast.LENGTH_LONG).show();
Intent intent = new Intent();
intent.setClass(UserLoginActivity.this, MainActivity.class);
startActivity(intent);
UserLoginActivity.this.finish();
} else if ("LOGINFAIL".equals(result)) {
Toast.makeText(UserLoginActivity.this, "登录失败,请检查用户名密码", Toast.LENGTH_LONG).show();
}
}
}
@Override public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_user_login, menu);
return true;
}
}
服务器端(servlet)
package com.main;
import java.io.ByteArrayInputStream;import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParserFactory;
import org.w3c.dom.Document;import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
/**
* Servlet implementation class LoginServlet
*/
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/** * @see HttpServlet#HttpServlet()
*/
public LoginServlet() {
super();
// TODO Auto-generated constructor stub
}
/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
public class XMLHandler extends DefaultHandler { String username = "";
String password = "";
// String image="";
StringBuffer temp = new StringBuffer();;
@Override public void characters(char[] ch, int start, int length)
throws SAXException {
// TODO Auto-generated method stub
temp.append(new String(ch, start, length));
}
@Override public void endElement(String uri, String localName, String qName)
throws SAXException {
// TODO Auto-generated method stub
// super.endElement(uri, localName, qName);
if ("username".equals(qName)) {
username = temp.toString(); } else if ("password".equals(qName)) {
password = temp.toString(); }
// }else if("image".equals(qName)){ // image=temp.toString();
// }
}
@Override public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
// TODO Auto-generated method stub
super.startElement(uri, localName, qName, attributes);
temp = new StringBuffer();
}
}
/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String username = ""; String password = "";
XMLReader reader = null; try {
reader = SAXParserFactory.newInstance().newSAXParser()
.getXMLReader();
XMLHandler handler = new XMLHandler(); reader.setContentHandler(handler);
reader.parse(new InputSource(request.getInputStream()));
// System.out.println(handler.image);
// BASE64Decoder decoder=new BASE64Decoder();
// byte[] imgbuffer=decoder.decodeBuffer(handler.image);
// ByteArrayInputStream s=new ByteArrayInputStream(imgbuffer); // String path=request.getRealPath("/upload");
// System.out.println(path); // FileOutputStream fos=new FileOutputStream(path+"/upload.png");
// byte[] buf=new byte[1024];
// int c=0;
// while((c=s.read(buf, 0, buf.length))!=-1){
// fos.write(buf,0,c);
// }
// fos.close(); // s.close();
//PrintWriter out = response.getWriter();
try { Class.forName("com.mysql.jdbc.Driver"); // 加载驱动
// Class.forName("org.gjt.mm.mysql.Driver");
System.out.println("Success loading Mysql Driver!");
} catch (Exception e) {
System.out.print("Error loading Mysql Driver!");
e.printStackTrace();
}
try {
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/xword", "root", "123456");
//填写数据库用户名密码等
System.out.println("Success connect Mysql server!");
Statement stmt = connect.createStatement();
System.out.println("Step0");
// ResultSet rs = stmt.executeQuery("select * from user");
String sqlstr;
ResultSet rs1;
sqlstr = "select*from user where(user_name='" + handler.username
+ "'and user_password='" + handler.password + "')";
rs1 = stmt.executeQuery(sqlstr);
System.out.println("Step1");
StringBuffer sbuf=new StringBuffer();
sbuf.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
sbuf.append("<ulogin>\n");
if (rs1.next()) {
sbuf.append("<userid>"+rs1.getInt(1)+"</userid>");
}
else
{
sbuf.append("<userid>fail</userid>");
}
sbuf.append("</ulogin>");
String dataString=sbuf.toString();
System.out.println("sbuf=" + sbuf);
response.getOutputStream().write(dataString.getBytes());
connect.close();
} catch (Exception e) {
// out.print("FAIL");
System.out.println("stepfail");
e.printStackTrace();
}
} catch (Exception e) { e.printStackTrace();
}
}
}
Ⅹ 如何设计android的登录界面
在网上在到一个登录界面感觉挺不错的,给大家分享一下~先看效果图:
这个Demo除了按钮、小猫和Logo是图片素材之外,其余的UI都是通过代码实现的。
?
一、背景
背景蓝色渐变,是通过一个xml文件来设置的。代码如下:
background_login.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:andro>
<gradient
android:startColor="#FFACDAE5"
android:endColor="#FF72CAE1"
android:angle="45"
/>
</shape>
startColor是渐变开始的颜色值,endColor是渐变结束的颜色值,angle是渐变的角度。其中#FFACDAE5中,FF是Alpha值,AC是RGB的R值,DA是RGB的G值,E5是RGB的B值,每个值在00~FF取值,即透明度、红、绿、蓝有0~255的分值,像要设置具体的颜色,可以在PS上的取色器上查看设置。
?
?
二、圆角白框
效果图上面的并不是白框,其实框是白色的,只是设置了透明值,也是靠一个xml文件实现的。
background_login_div.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:andro>
<solid android:color="#55FFFFFF" />
<!-- 设置圆角
注意: bottomRightRadius是左下角而不是右下角 bottomLeftRadius右下角-->
<corners android:topLeftRadius="10dp" android:topRightRadius="10dp"
android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp"/>
</shape>
?
三、界面的布局
界面的布局挺简单的,就直接贴代码啦~
login.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:andro
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background_login">
<!-- padding 内边距 layout_margin 外边距
android:layout_alignParentTop 布局的位置是否处于顶部 -->
<RelativeLayout
android:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="15dip"
android:layout_margin="15dip"
android:background="@drawable/background_login_div_bg" >
<!-- 账号 -->
<TextView
android:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="5dp"
android:text="@string/login_label_username"
/>
<EditText
android:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/login_username_hint"
android:layout_below="@id/login_user_input"
android:singleLine="true"
android:inputType="text"/>
<!-- 密码 text -->
<TextView
android:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/username_edit"
android:layout_marginTop="3dp"
android:text="@string/login_label_password"
/>
<EditText
android:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/login_password_input"
android:password="true"
android:singleLine="true"
android:inputType="textPassword" />
<!-- 登录button -->
<Button
android:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/password_edit"
android:layout_alignRight="@id/password_edit"
android:text="@string/login_label_signin"
android:background="@drawable/blue_button" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView android:
android:text="@string/login_register_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:textColor="#888"
android:textColorLink="#FF0066CC" />
<ImageView android:
android:src="@drawable/cat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="25dp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="25dp" />
<ImageView android:src="@drawable/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/miniTwitter_logo"
android:layout_alignBottom="@id/miniTwitter_logo"
android:paddingBottom="8dp"/>
</RelativeLayout>
</LinearLayout>