Advertisement
Guest User

Untitled

a guest
May 12th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.57 KB | None | 0 0
  1. package com.example.avinash.myapplication;
  2.  
  3. import android.app.AlertDialog;
  4. import android.app.ProgressDialog;
  5. import android.content.Intent;
  6. import android.net.ConnectivityManager;
  7. import android.net.NetworkInfo;
  8. import android.net.Uri;
  9. import android.os.Bundle;
  10. import android.support.v7.app.AppCompatActivity;
  11. import android.util.Log;
  12. import android.view.LayoutInflater;
  13. import android.view.View;
  14. import android.widget.Button;
  15. import android.widget.EditText;
  16. import android.widget.TextView;
  17. import android.widget.Toast;
  18.  
  19. import com.android.volley.AuthFailureError;
  20. import com.android.volley.Request;
  21. import com.android.volley.RequestQueue;
  22. import com.android.volley.Response;
  23. import com.android.volley.VolleyError;
  24. import com.android.volley.VolleyLog;
  25. import com.android.volley.toolbox.JsonObjectRequest;
  26. import com.android.volley.toolbox.StringRequest;
  27. import com.android.volley.toolbox.Volley;
  28. import com.google.android.gms.appindexing.Action;
  29. import com.google.android.gms.appindexing.AppIndex;
  30. import com.google.android.gms.common.api.GoogleApiClient;
  31.  
  32. import org.json.JSONException;
  33. import org.json.JSONObject;
  34.  
  35. import java.util.HashMap;
  36. import java.util.Map;
  37.  
  38. public class RegisterActivity extends AppCompatActivity implements View.OnClickListener {
  39.  
  40.  
  41. //Keys to send username, password, phone and otp
  42. public static final String KEY_SALUTATION = "salutation";
  43. public static final String KEY_FIRSTNAME = "fname";
  44. public static final String KEY_SURNAME = "surname";
  45. public static final String KEY_MOBILE_NO = "mobno";
  46. public static final String KEY_DOB = "dob";
  47. public static final String KEY_NATIONALITY = "nationality";
  48. public static final String KEY_USERNAME = "username";
  49. public static final String KEY_EMAIL = "email";
  50. public static final String KEY_PASSWORD = "password";
  51. public static final String KEY_CONFEDENTIAL = "confedential";
  52. public static final String KEY_DEVICETOKEN = "device_token";
  53. public static final String KEY_LOGINTYPE = "login_type";
  54.  
  55.  
  56. private EditText editTextConfirmOtp;
  57. private Button buttonConfirm;
  58. private RequestQueue requestQueue;
  59.  
  60.  
  61. private EditText editTextSalutation;
  62. private EditText editTextUserName;
  63. private EditText editTextFirstname;
  64. private EditText editTextSurname;
  65. private EditText editTextEmail;
  66. private EditText editTextMob_no;
  67. private EditText editTextDob;
  68. private EditText editTextNationality;
  69. private EditText editTextPassword;
  70. private EditText editTextConfedential;
  71.  
  72. private String salutation;
  73. private String fname;
  74. private String surname;
  75. private String username;
  76. private String password;
  77. private String dob;
  78. private String nationality;
  79. private String mobno;
  80. private String confedential;
  81. private String email;
  82. private String device_token="aswert1234";
  83. private String login_type="0";
  84.  
  85. private static String TAG = RegisterActivity.class.getSimpleName();
  86.  
  87.  
  88. private Button buttonSubmit;
  89. /**
  90. * ATTENTION: This was auto-generated to implement the App Indexing API.
  91. * See https://g.co/AppIndexing/AndroidStudio for more information.
  92. */
  93. private GoogleApiClient client;
  94.  
  95. @Override
  96. protected void onCreate(Bundle savedInstanceState) {
  97. super.onCreate(savedInstanceState);
  98. setContentView(R.layout.activity_register);
  99.  
  100.  
  101. TextView registerScreen = (TextView) findViewById(R.id.link_to_login);
  102.  
  103. // Listening to register new account link
  104. registerScreen.setOnClickListener(new View.OnClickListener() {
  105. public void onClick(View v) {
  106. // Switching to Register screen
  107. Intent i = new Intent(getApplicationContext(), HelpingActivity.class);
  108. startActivity(i);
  109. }
  110. });
  111.  
  112.  
  113.  
  114.  
  115. // ================= Register Vadiation Code Here ============================
  116.  
  117. editTextSalutation = (EditText) findViewById(R.id.editText_fname);
  118. editTextFirstname = (EditText) findViewById(R.id.textEmail);
  119. editTextSurname = (EditText) findViewById(R.id.editText_password);
  120. editTextUserName = (EditText) findViewById(R.id.edittxt_cnfrmpassword);
  121. editTextPassword = (EditText) findViewById(R.id.edit_pswd);
  122. editTextDob = (EditText) findViewById(R.id.edit_dob);
  123. editTextNationality = (EditText) findViewById(R.id.edit_natnl);
  124. editTextMob_no = (EditText) findViewById(R.id.edit_mob_no);
  125. editTextEmail = (EditText) findViewById(R.id.edit_email_adrs);
  126. editTextConfedential = (EditText) findViewById(R.id.edit_confdnt);
  127.  
  128.  
  129. buttonSubmit = (Button) findViewById(R.id.buttonSubmit);
  130.  
  131. requestQueue = Volley.newRequestQueue(this);
  132.  
  133. buttonSubmit.setOnClickListener(this);
  134.  
  135. // ATTENTION: This was auto-generated to implement the App Indexing API.
  136. // See https://g.co/AppIndexing/AndroidStudio for more information.
  137. client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
  138. }
  139.  
  140.  
  141. private void confirmOtp() throws JSONException {
  142. //Creating a LayoutInflater object for the dialog box
  143. LayoutInflater li = LayoutInflater.from(this);
  144. //Creating a view to get the dialog box
  145. View confirmDialog = li.inflate(R.layout.dialog_confirm, null);
  146.  
  147. //Initizliaing confirm button for dialog box and edittext of dialog box
  148. buttonConfirm = (Button) confirmDialog.findViewById(R.id.buttonConfirm);
  149. editTextConfirmOtp = (EditText) confirmDialog.findViewById(R.id.editTextOtp);
  150.  
  151. //Creating an alertdialog builder
  152. AlertDialog.Builder alert = new AlertDialog.Builder(this);
  153.  
  154. //Adding our dialog box to the view of alert dialog
  155. alert.setView(confirmDialog);
  156.  
  157. //Creating an alert dialog
  158. final AlertDialog alertDialog = alert.create();
  159.  
  160. //Displaying the alert dialog
  161. alertDialog.show();
  162.  
  163. //On the click of the confirm button from alert dialog
  164. buttonConfirm.setOnClickListener(new View.OnClickListener() {
  165. @Override
  166. public void onClick(View v) {
  167. //Hiding the alert dialog
  168. alertDialog.dismiss();
  169.  
  170. //Displaying a progressbar
  171. final ProgressDialog loading = ProgressDialog.show(RegisterActivity.this, "Authenticating", "Please wait while we check the entered code", false, true);
  172.  
  173. //Getting the user entered otp from edittext
  174. final String otp = editTextConfirmOtp.getText().toString().trim();
  175.  
  176. //Creating an string request
  177. StringRequest stringRequest = new StringRequest(Request.Method.POST, Config.CONFIRM_URL,
  178. new Response.Listener<String>() {
  179. @Override
  180. public void onResponse(String response) {
  181. //if the server response is success
  182. if (response.equalsIgnoreCase("success")) {
  183. //dismissing the progressbar
  184. loading.dismiss();
  185.  
  186. //Starting a new activity
  187. startActivity(new Intent(RegisterActivity.this, SuccessActivity.class));
  188. } else {
  189. //Displaying a toast if the otp entered is wrong
  190. Toast.makeText(RegisterActivity.this, "Wrong OTP Please Try Again", Toast.LENGTH_LONG).show();
  191. try {
  192. //Asking user to enter otp again
  193. confirmOtp();
  194. } catch (JSONException e) {
  195. e.printStackTrace();
  196. }
  197. }
  198. }
  199. },
  200. new Response.ErrorListener() {
  201. @Override
  202. public void onErrorResponse(VolleyError error) {
  203. alertDialog.dismiss();
  204. Toast.makeText(RegisterActivity.this, error.getMessage(), Toast.LENGTH_LONG).show();
  205. }
  206. }) {
  207. @Override
  208. protected Map<String, String> getParams() throws AuthFailureError {
  209. Map<String, String> params = new HashMap<String, String>();
  210. //Adding the parameters otp and username
  211. params.put(Config.KEY_OTP, otp);
  212. // params.put(Config.KEY_USERNAME, username);
  213. return params;
  214. }
  215. };
  216.  
  217. //Adding the request to the queue
  218. requestQueue.add(stringRequest);
  219. }
  220. });
  221. }
  222.  
  223.  
  224. //this method will register the user
  225.  
  226. private void register() {
  227.  
  228. isInternetOn();
  229. //Displaying a progress dialog
  230. final ProgressDialog loading = ProgressDialog.show(this, "Registering", "Please wait...", false, true);
  231.  
  232.  
  233. //Getting user data
  234. salutation = editTextSalutation.getText().toString().trim();
  235. fname = editTextFirstname.getText().toString().trim();
  236. surname = editTextSurname.getText().toString().trim();
  237. username = editTextUserName.getText().toString().trim();
  238. password = editTextPassword.getText().toString().trim();
  239. dob = editTextDob.getText().toString().trim();
  240. nationality = editTextNationality.getText().toString().trim();
  241. mobno = editTextMob_no.getText().toString().trim();
  242. email = editTextEmail.getText().toString().trim();
  243. confedential = editTextConfedential.getText().toString().trim();
  244.  
  245.  
  246.  
  247.  
  248. try {
  249.  
  250.  
  251. JSONObject obj = new JSONObject();
  252. obj.put(KEY_SALUTATION, salutation);
  253. obj.put(KEY_FIRSTNAME, fname);
  254. obj.put(KEY_SURNAME, surname);
  255. obj.put(KEY_USERNAME, username);
  256. obj.put(KEY_MOBILE_NO, mobno);
  257. obj.put(KEY_EMAIL, email);
  258. obj.put(KEY_CONFEDENTIAL, confedential);
  259. obj.put(KEY_DEVICETOKEN, device_token);
  260. obj.put(KEY_PASSWORD, password);
  261. obj.put(KEY_DOB, dob);
  262. obj.put(KEY_NATIONALITY, nationality);
  263. obj.put(KEY_LOGINTYPE, login_type);
  264.  
  265.  
  266.  
  267. **JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
  268. "http://allwashes.com/allwashes.com/heroes/index.php/signUp",null,
  269. new Response.Listener<JSONObject>() {
  270. @Override
  271. public void onResponse(JSONObject response) {
  272. Log.d("Response", response.toString());
  273. loading.dismiss();
  274.  
  275. try {
  276. //Creating the json object from the response
  277. //JSONObject jsonResponse = new JSONObject(response.toString());
  278. //If it is success
  279. if (response.getString(Config.TAG_RESPONSE).equalsIgnoreCase("true")) {
  280. Toast.makeText(RegisterActivity.this, "Requesting for Otp..", Toast.LENGTH_LONG).show();
  281. //Asking user to confirm otp
  282. confirmOtp();
  283. } else {
  284. //If not successful user may already have registered
  285. Toast.makeText(RegisterActivity.this, "Username or Phone are already registered", Toast.LENGTH_LONG).show();
  286. }
  287. } catch (JSONException e) {
  288. e.printStackTrace();
  289. }
  290. }
  291. },** new Response.ErrorListener() {
  292.  
  293. @Override
  294. public void onErrorResponse(VolleyError error) {
  295. Toast.makeText(RegisterActivity.this, "Volley Error..", Toast.LENGTH_LONG).show();
  296. VolleyLog.d(TAG, "Error: " + error.getMessage());
  297. }
  298. });
  299. requestQueue.add(jsonObjReq);
  300. }catch (JSONException e) {
  301. Log.e("MYAPP", "unexpected JSON exception", e);
  302. // Do something to recover ... or kill the app.
  303. }
  304. }
  305.  
  306.  
  307. @Override
  308. public void onClick(View v) {
  309. //Calling register method on register button click
  310. register();
  311. }
  312.  
  313.  
  314. public final boolean isInternetOn() {
  315.  
  316. // get Connectivity Manager object to check connection
  317. ConnectivityManager connec =
  318. (ConnectivityManager) getSystemService(getBaseContext().CONNECTIVITY_SERVICE);
  319.  
  320. // Check for network connections
  321. if (connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||
  322. connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTING ||
  323. connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING ||
  324. connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED) {
  325.  
  326. // if connected with internet
  327.  
  328. //Toast.makeText(this, " Connected ", Toast.LENGTH_LONG).show();
  329. return true;
  330.  
  331. } else if (
  332. connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED ||
  333. connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED) {
  334.  
  335. Toast.makeText(this, " Connection Problem ", Toast.LENGTH_LONG).show();
  336. return false;
  337. }
  338. return false;
  339. }
  340.  
  341.  
  342. @Override
  343. public void onStart() {
  344. super.onStart();
  345.  
  346. // ATTENTION: This was auto-generated to implement the App Indexing API.
  347. // See https://g.co/AppIndexing/AndroidStudio for more information.
  348. client.connect();
  349. Action viewAction = Action.newAction(
  350. Action.TYPE_VIEW, // TODO: choose an action type.
  351. "Register Page", // TODO: Define a title for the content shown.
  352. // TODO: If you have web page content that matches this app activity's content,
  353. // make sure this auto-generated web page URL is correct.
  354. // Otherwise, set the URL to null.
  355. Uri.parse("http://host/path"),
  356. // TODO: Make sure this auto-generated app URL is correct.
  357. Uri.parse("android-app://com.example.avinash.myapplication/http/host/path")
  358. );
  359. AppIndex.AppIndexApi.start(client, viewAction);
  360. }
  361.  
  362. @Override
  363. public void onStop() {
  364. super.onStop();
  365.  
  366. // ATTENTION: This was auto-generated to implement the App Indexing API.
  367. // See https://g.co/AppIndexing/AndroidStudio for more information.
  368. Action viewAction = Action.newAction(
  369. Action.TYPE_VIEW, // TODO: choose an action type.
  370. "Register Page", // TODO: Define a title for the content shown.
  371. // TODO: If you have web page content that matches this app activity's content,
  372. // make sure this auto-generated web page URL is correct.
  373. // Otherwise, set the URL to null.
  374. Uri.parse("http://host/path"),
  375. // TODO: Make sure this auto-generated app URL is correct.
  376. Uri.parse("android-app://com.example.avinash.myapplication/http/host/path")
  377. );
  378. AppIndex.AppIndexApi.end(client, viewAction);
  379. client.disconnect();
  380. }
  381. }
  382.  
  383. <?xml version="1.0" encoding="utf-8"?>
  384. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  385. android:layout_width="match_parent"
  386. android:layout_height="match_parent"
  387. android:orientation="vertical"
  388. android:fillViewport="false"
  389. android:background="@drawable/back_all">
  390.  
  391. <ScrollView
  392. android:id="@+id/scroll"
  393. android:layout_width="fill_parent"
  394. android:layout_height="wrap_content"
  395. android:fillViewport="true" >
  396.  
  397.  
  398. <RelativeLayout
  399. android:id="@+id/container"
  400. android:layout_width="fill_parent"
  401. android:layout_height="wrap_content" >
  402.  
  403. <TextView android:layout_width="fill_parent"
  404. android:layout_height="wrap_content"
  405. android:layout_marginTop="10dp"
  406. android:text="Sign Up"
  407. android:textColor="#ffffff"
  408. android:textSize="28sp"
  409. android:textStyle="bold"
  410. android:gravity="center"
  411. android:id="@+id/textView5" />
  412.  
  413. <TextView
  414. android:layout_width="wrap_content"
  415. android:layout_height="wrap_content"
  416. android:text="Salutation"
  417. android:textSize="18dp"
  418. android:textColor="#ffffff"
  419. android:layout_marginTop="45dp"
  420. android:layout_below="@+id/textView5"
  421. android:layout_centerHorizontal="true"
  422. android:id="@+id/textView4" />
  423.  
  424. <EditText
  425. android:layout_width="fill_parent"
  426. android:layout_height="wrap_content"
  427. android:id="@+id/editText_fname"
  428. android:gravity="center"
  429. android:layout_below="@+id/textView4"
  430. android:backgroundTint="@android:color/darker_gray"
  431. android:layout_centerHorizontal="true"
  432. />
  433.  
  434.  
  435. <TextView
  436. android:layout_width="fill_parent"
  437. android:layout_height="wrap_content"
  438. android:text="First Name"
  439. android:gravity="center"
  440. android:textSize="18dp"
  441. android:id="@+id/textView6"
  442. android:textColor="#ffffff"
  443. android:layout_below="@+id/editText_fname"
  444. android:layout_centerHorizontal="true" />
  445.  
  446. <EditText
  447. android:layout_width="fill_parent"
  448. android:layout_height="wrap_content"
  449. android:inputType="text"
  450. android:ems="30"
  451. android:gravity="center"
  452. android:id="@+id/textEmail"
  453. android:backgroundTint="@android:color/darker_gray"
  454. android:layout_below="@+id/textView6"
  455. android:layout_centerHorizontal="true" />
  456.  
  457. <TextView
  458. android:layout_width="fill_parent"
  459. android:layout_height="wrap_content"
  460. android:text="Sur Name"
  461. android:gravity="center"
  462. android:textSize="18dp"
  463. android:textColor="#ffffff"
  464. android:layout_below="@+id/textEmail"
  465. android:layout_centerHorizontal="true"
  466. android:id="@+id/textView7" />
  467.  
  468. <EditText
  469. android:layout_width="fill_parent"
  470. android:layout_height="wrap_content"
  471. android:inputType="text"
  472. android:ems="20"
  473. android:gravity="center"
  474. android:backgroundTint="@android:color/darker_gray"
  475. android:id="@+id/editText_password"
  476. android:layout_below="@+id/textView7"
  477. android:layout_centerHorizontal="true" />
  478.  
  479. <TextView
  480. android:layout_width="fill_parent"
  481. android:layout_height="wrap_content"
  482. android:text="User Name"
  483. android:gravity="center"
  484. android:textSize="18dp"
  485. android:textColor="#ffffff"
  486. android:layout_below="@+id/editText_password"
  487. android:layout_centerHorizontal="true"
  488. android:id="@+id/textView8" />
  489.  
  490. <EditText
  491. android:layout_width="fill_parent"
  492. android:layout_height="wrap_content"
  493. android:inputType="text"
  494. android:ems="20"
  495. android:gravity="center"
  496. android:backgroundTint="@android:color/darker_gray"
  497. android:id="@+id/edittxt_cnfrmpassword"
  498. android:layout_below="@+id/textView8"
  499. android:layout_centerHorizontal="true" />
  500.  
  501. <TextView
  502. android:layout_width="fill_parent"
  503. android:layout_height="wrap_content"
  504. android:text="Password"
  505. android:gravity="center"
  506. android:textSize="18dp"
  507. android:textColor="#ffffff"
  508. android:layout_below="@+id/edittxt_cnfrmpassword"
  509. android:layout_centerHorizontal="true"
  510. android:id="@+id/pswd" />
  511.  
  512. <EditText
  513. android:layout_width="fill_parent"
  514. android:layout_height="wrap_content"
  515. android:inputType="textPassword"
  516. android:ems="20"
  517. android:gravity="center"
  518. android:backgroundTint="@android:color/darker_gray"
  519. android:id="@+id/edit_pswd"
  520. android:layout_below="@+id/pswd"
  521. android:layout_centerHorizontal="true" />
  522. <TextView
  523. android:layout_width="fill_parent"
  524. android:layout_height="wrap_content"
  525. android:text="Date Of Birth"
  526. android:gravity="center"
  527. android:textSize="18dp"
  528. android:textColor="#ffffff"
  529. android:layout_below="@+id/edit_pswd"
  530. android:layout_centerHorizontal="true"
  531. android:id="@+id/dob" />
  532.  
  533. <EditText
  534. android:layout_width="fill_parent"
  535. android:layout_height="wrap_content"
  536. android:inputType="text"
  537. android:ems="20"
  538. android:gravity="center"
  539. android:backgroundTint="@android:color/darker_gray"
  540. android:id="@+id/edit_dob"
  541. android:layout_below="@+id/dob"
  542. android:layout_centerHorizontal="true" />
  543.  
  544. <TextView
  545. android:layout_width="fill_parent"
  546. android:layout_height="wrap_content"
  547. android:text="Nationality"
  548. android:gravity="center"
  549. android:textSize="18dp"
  550. android:textColor="#ffffff"
  551. android:layout_below="@+id/edit_dob"
  552. android:layout_centerHorizontal="true"
  553. android:id="@+id/natnl" />
  554.  
  555. <EditText
  556. android:layout_width="fill_parent"
  557. android:layout_height="wrap_content"
  558. android:inputType="text"
  559. android:ems="20"
  560. android:gravity="center"
  561. android:backgroundTint="@android:color/darker_gray"
  562. android:id="@+id/edit_natnl"
  563. android:layout_below="@+id/natnl"
  564. android:layout_centerHorizontal="true" />
  565.  
  566. <TextView
  567. android:layout_width="fill_parent"
  568. android:layout_height="wrap_content"
  569. android:text="Mobile No"
  570. android:gravity="center"
  571. android:textSize="18dp"
  572. android:textColor="#ffffff"
  573. android:layout_below="@+id/edit_natnl"
  574. android:layout_centerHorizontal="true"
  575. android:id="@+id/mob_no" />
  576.  
  577. <EditText
  578. android:layout_width="fill_parent"
  579. android:layout_height="wrap_content"
  580. android:inputType="number"
  581. android:ems="20"
  582. android:gravity="center"
  583. android:backgroundTint="@android:color/darker_gray"
  584. android:id="@+id/edit_mob_no"
  585. android:layout_below="@+id/mob_no"
  586. android:layout_centerHorizontal="true" />
  587.  
  588. <TextView
  589. android:layout_width="fill_parent"
  590. android:layout_height="wrap_content"
  591. android:text="Email_address"
  592. android:gravity="center"
  593. android:textSize="18dp"
  594. android:textColor="#ffffff"
  595. android:layout_below="@+id/edit_mob_no"
  596. android:layout_centerHorizontal="true"
  597. android:id="@+id/email_adrs" />
  598.  
  599. <EditText
  600. android:layout_width="fill_parent"
  601. android:layout_height="wrap_content"
  602. android:inputType="textEmailAddress"
  603. android:ems="20"
  604. android:gravity="center"
  605. android:backgroundTint="@android:color/darker_gray"
  606. android:id="@+id/edit_email_adrs"
  607. android:layout_below="@+id/email_adrs"
  608. android:layout_centerHorizontal="true" />
  609.  
  610. <TextView
  611. android:layout_width="fill_parent"
  612. android:layout_height="wrap_content"
  613. android:text="Confedential"
  614. android:gravity="center"
  615. android:textSize="18dp"
  616. android:textColor="#ffffff"
  617. android:layout_below="@+id/edit_email_adrs"
  618. android:layout_centerHorizontal="true"
  619. android:id="@+id/confdnt" />
  620.  
  621. <EditText
  622. android:layout_width="fill_parent"
  623. android:layout_height="wrap_content"
  624. android:inputType="text"
  625. android:ems="20"
  626. android:gravity="center"
  627. android:backgroundTint="@android:color/darker_gray"
  628. android:id="@+id/edit_confdnt"
  629. android:layout_below="@+id/confdnt"
  630. android:layout_centerHorizontal="true" />
  631.  
  632.  
  633.  
  634. <Button
  635. android:id="@+id/buttonSubmit"
  636. android:layout_width="fill_parent"
  637. android:layout_height="38dp"
  638. android:layout_gravity="center_horizontal"
  639. android:layout_marginTop="25dp"
  640. android:background="@drawable/roundbtn"
  641. android:text="submit"
  642. android:textColor="#FFFFFF"
  643. android:layout_below="@+id/edit_confdnt"
  644. android:layout_alignParentLeft="true"
  645. android:layout_alignParentStart="true" />
  646.  
  647.  
  648.  
  649.  
  650.  
  651. <TextView android:id="@+id/link_to_login"
  652. android:layout_width="fill_parent"
  653. android:layout_height="wrap_content"
  654. android:text="you have already an account? Log in"
  655. android:gravity="center"
  656. android:textSize="20dip"
  657. android:textColor="#0b84aa"
  658. android:layout_marginTop="15dp"
  659. android:layout_below="@+id/buttonSubmit"
  660. android:layout_alignParentLeft="true"
  661. android:layout_alignParentStart="true" />
  662.  
  663.  
  664. </RelativeLayout>
  665. </ScrollView>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement