Lorenzo Manoni
Lorenzo Manoni

Reputation: 27

Design with android studio

Hello everyone I've a problem: I'm approaching Android with Android Studio but I've found problems with XML, I'm trying to do a little calculator:

In the IDE I see all perfectly but when i start a simulation... enter image description here

So... Can you help me? There's a way for anchor buttons and texts?

Thanks in advance and sorry for my bad bad english.

Upvotes: 0

Views: 201

Answers (3)

Avinash Kumar
Avinash Kumar

Reputation: 318

Your xml can be modified like this, it works same only xml difference. Its happening because of <android.support.constraint.ConstraintLayout>, your code has been modified by me check below.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="lorenzo.calculator.Calcolatrice"
android:orientation="vertical">

<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <EditText
        android:id="@+id/editText"
        android:layout_width="337dp"
        android:layout_height="40dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Numero 1" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <EditText
        android:id="@+id/editText2"
        android:layout_width="337dp"
        android:layout_height="42dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Numero 2" />

</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="1">

    <Button
        android:id="@+id/button"
        android:layout_width="88dp"
        android:layout_height="49dp"
        android:text="-"
        android:layout_weight="0.25"/>

    <Button
        android:id="@+id/button2"
        android:layout_width="88dp"
        android:layout_height="49dp"
        android:text="/"
        android:layout_weight="0.25"/>

    <Button
        android:id="@+id/button3"
        android:layout_width="88dp"
        android:layout_height="49dp"
        android:text="+"
        android:layout_weight="0.25"/>

    <Button
        android:id="@+id/button4"
        android:layout_width="88dp"
        android:layout_height="49dp"
        android:text="*"
        android:layout_weight="0.25"/>
</TableRow>

<TextView
    android:id="@+id/textView"
    android:layout_width="348dp"
    android:layout_height="316dp"
    android:textColor="@android:color/background_dark"
    android:textSize="36sp" />

</LinearLayout>

Upvotes: 0

Ahlem Jarrar
Ahlem Jarrar

Reputation: 1129

To define a view's position in ConstraintLayout, you must add at least one horizontal and one vertical constraint for the view.(Documentation of ConstraintLayout)

Since you are implementing a simple View I will suggest using LinearLayout it's the best and easiest approach for this task.

Try below code.

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:layout_editor_absoluteY="81dp"
tools:layout_editor_absoluteX="0dp">



<EditText
    android:id="@+id/editText"
    android:layout_width="337dp"
    android:layout_height="40dp"
    android:ems="10"
    android:inputType="textPersonName"
    android:text="Numero 1"
    tools:layout_editor_absoluteX="12dp"
    tools:layout_editor_absoluteY="16dp" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="337dp"
    android:layout_height="42dp"
    android:ems="10"
    android:inputType="textPersonName"
    android:text="Numero 2"
    tools:layout_editor_absoluteX="12dp"
    tools:layout_editor_absoluteY="74dp" />
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginTop="10dp"

    >
    <Button
        android:id="@+id/button4"
        android:layout_width="56dp"
        android:layout_height="49dp"
        android:text="*"
        tools:layout_editor_absoluteX="288dp"
        tools:layout_editor_absoluteY="137dp" />

    <Button
        android:id="@+id/button3"
        android:layout_width="56dp"
        android:layout_height="49dp"
        android:text="+"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="137dp" />

    <Button
        android:id="@+id/button2"
        android:layout_width="56dp"
        android:layout_height="49dp"
        android:text="/"
        tools:layout_editor_absoluteX="198dp"
        tools:layout_editor_absoluteY="137dp" />
    <Button
        android:id="@+id/button"
        android:layout_width="56dp"
        android:layout_height="49dp"
        android:text="-"
        tools:layout_editor_absoluteX="106dp"
        tools:layout_editor_absoluteY="137dp" />

</LinearLayout>



<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="@android:color/background_dark"
    android:textSize="36sp"
    tools:layout_editor_absoluteX="5dp"
    tools:layout_editor_absoluteY="193dp" />

</LinearLayout>

Upvotes: 1

Lorenzo Manoni
Lorenzo Manoni

Reputation: 27

XML code:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="lorenzo.calculator.Calcolatrice"
tools:layout_editor_absoluteY="81dp"
tools:layout_editor_absoluteX="0dp">

<Button
    android:id="@+id/button4"
    android:layout_width="56dp"
    android:layout_height="49dp"
    android:text="*"
    tools:layout_editor_absoluteX="288dp"
    tools:layout_editor_absoluteY="137dp" />

<Button
    android:id="@+id/button3"
    android:layout_width="56dp"
    android:layout_height="49dp"
    android:text="+"
    tools:layout_editor_absoluteX="16dp"
    tools:layout_editor_absoluteY="137dp" />

<Button
    android:id="@+id/button2"
    android:layout_width="56dp"
    android:layout_height="49dp"
    android:text="/"
    tools:layout_editor_absoluteX="198dp"
    tools:layout_editor_absoluteY="137dp" />

<EditText
    android:id="@+id/editText"
    android:layout_width="337dp"
    android:layout_height="40dp"
    android:ems="10"
    android:inputType="textPersonName"
    android:text="Numero 1"
    tools:layout_editor_absoluteX="12dp"
    tools:layout_editor_absoluteY="16dp" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="337dp"
    android:layout_height="42dp"
    android:ems="10"
    android:inputType="textPersonName"
    android:text="Numero 2"
    tools:layout_editor_absoluteX="12dp"
    tools:layout_editor_absoluteY="74dp" />

<Button
    android:id="@+id/button"
    android:layout_width="56dp"
    android:layout_height="49dp"
    android:text="-"
    tools:layout_editor_absoluteX="106dp"
    tools:layout_editor_absoluteY="137dp" />

<TextView
    android:id="@+id/textView"
    android:layout_width="348dp"
    android:layout_height="316dp"
    android:textColor="@android:color/background_dark"
    android:textSize="36sp"
    tools:layout_editor_absoluteX="5dp"
    tools:layout_editor_absoluteY="193dp" />

Upvotes: 0

Related Questions