Compare commits
2 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
0a182be851 | 3 years ago |
|
|
42ab1eed88 | 3 years ago |
@ -1 +1 @@ |
||||
UDPtest000 |
||||
GG |
||||
|
||||
@ -1 +0,0 @@ |
||||
GG |
||||
@ -0,0 +1,73 @@ |
||||
package cf.cafelutza.gg; |
||||
|
||||
import static java.lang.Math.abs; |
||||
|
||||
import android.hardware.Sensor; |
||||
import android.hardware.SensorEvent; |
||||
import android.hardware.SensorEventListener; |
||||
import android.hardware.SensorManager; |
||||
import android.os.Bundle; |
||||
import android.util.Log; |
||||
import android.widget.Button; |
||||
import android.widget.ToggleButton; |
||||
|
||||
import androidx.annotation.Nullable; |
||||
import androidx.appcompat.app.AppCompatActivity; |
||||
|
||||
public class PresentationActivity extends AppCompatActivity { |
||||
@Override |
||||
protected void onCreate(@Nullable Bundle savedInstanceState) { |
||||
super.onCreate(savedInstanceState); |
||||
setContentView(R.layout.activity_presentetion); |
||||
|
||||
SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); |
||||
Sensor gyroscope=sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE); |
||||
sensorManager.registerListener(new SensorEventListener() { |
||||
@Override |
||||
public void onSensorChanged(SensorEvent sensorEvent) { |
||||
if(sensorEvent.sensor.getType()==Sensor.TYPE_GYROSCOPE) |
||||
{ |
||||
|
||||
ToggleButton toggleGyro=findViewById(R.id.toggleGyro); |
||||
int gyroscopeX= (int) (sensorEvent.values[2]*-10); |
||||
int gyroscopeY= (int) (sensorEvent.values[0]*-10); |
||||
|
||||
if (toggleGyro.isChecked()) { |
||||
if(abs(gyroscopeX)>0||abs(gyroscopeY)>0) { |
||||
MainScreen.client.Send("GG:1|MOUS:0|XYMS:"+gyroscopeX+"|"+gyroscopeY+"|;"); |
||||
Log.d("GYROX:", String.valueOf(gyroscopeX)); |
||||
} |
||||
|
||||
} |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void onAccuracyChanged(Sensor sensor, int i) { |
||||
|
||||
} |
||||
}, gyroscope, SensorManager.SENSOR_DELAY_FASTEST); |
||||
|
||||
Button bpen=findViewById(R.id.bpen); |
||||
Button berase=findViewById(R.id.berase); |
||||
Button binapoi=findViewById(R.id.binapoi); |
||||
Button binainte=findViewById(R.id.binainte); |
||||
|
||||
ToggleButton toggleGyro=findViewById(R.id.toggleGyro); |
||||
|
||||
UDP_Client client = MainScreen.client; |
||||
|
||||
bpen.setOnClickListener(view -> { |
||||
client.Send("GG:1|KYBD:0|KBKY:b|;"); |
||||
}); |
||||
berase.setOnClickListener(view -> { |
||||
client.Send("GG:1|KYBD:0|KBKY:e|;"); |
||||
}); |
||||
binapoi.setOnClickListener(view -> { |
||||
client.Send("GG:1|HTKY:0|HBKS:1|;"); |
||||
}); |
||||
binainte.setOnClickListener(view -> { |
||||
client.Send("GG:1|HTKY:0|HNTR:1|;"); |
||||
}); |
||||
} |
||||
} |
||||
@ -0,0 +1,101 @@ |
||||
package cf.cafelutza.gg; |
||||
|
||||
import android.os.Bundle; |
||||
import android.text.InputFilter; |
||||
import android.text.SpannableStringBuilder; |
||||
import android.widget.Button; |
||||
import android.widget.EditText; |
||||
import android.widget.ToggleButton; |
||||
|
||||
import androidx.appcompat.app.AppCompatActivity; |
||||
|
||||
public class TextboxActivity extends AppCompatActivity { |
||||
@Override |
||||
public void onCreate(Bundle savedInstanceState) { |
||||
super.onCreate(savedInstanceState); |
||||
setContentView(R.layout.textbox_activity); |
||||
EditText text=findViewById(R.id.editTextText); |
||||
ToggleButton lctrl=findViewById(R.id.lctrl); |
||||
ToggleButton lshift=findViewById(R.id.lshift); |
||||
ToggleButton lalt=findViewById(R.id.lalt); |
||||
ToggleButton lgui=findViewById(R.id.lgui); |
||||
ToggleButton rctrl=findViewById(R.id.rctrl); |
||||
ToggleButton rshift=findViewById(R.id.rshift); |
||||
ToggleButton ralt=findViewById(R.id.ralt); |
||||
ToggleButton rgui=findViewById(R.id.rgui); |
||||
Button send=findViewById(R.id.send); |
||||
|
||||
UDP_Client client = MainScreen.client; |
||||
text.setSingleLine(true); |
||||
text.setFilters(new InputFilter[]{ |
||||
(source, start, end, spanned, i2, i3) -> { |
||||
if (source instanceof SpannableStringBuilder) { |
||||
SpannableStringBuilder sourceAsSpannableBuilder = (SpannableStringBuilder)source; |
||||
for (int i = end - 1; i >= start; i--) { |
||||
char currentChar = source.charAt(i); |
||||
if (!(currentChar>='!'&¤tChar<='~')) { |
||||
sourceAsSpannableBuilder.delete(i, i+1); |
||||
} |
||||
} |
||||
return source; |
||||
} else { |
||||
StringBuilder filteredStringBuilder = new StringBuilder(); |
||||
for (int i = start; i < end; i++) { |
||||
char currentChar = source.charAt(i); |
||||
if (!(currentChar>='!'&¤tChar<='~')) { |
||||
filteredStringBuilder.append(currentChar); |
||||
} |
||||
} |
||||
return filteredStringBuilder.toString(); |
||||
} |
||||
} |
||||
}); |
||||
/* |
||||
lctrl.setOnClickListener(view -> lctrl.toggle() ); |
||||
lshift.setOnClickListener(view-> lshift.toggle()); |
||||
lalt.setOnClickListener(view -> lalt.toggle() ); |
||||
lgui.setOnClickListener(view -> lgui.toggle() ); |
||||
|
||||
rctrl.setOnClickListener(view -> rctrl.toggle() ); |
||||
rshift.setOnClickListener(view-> rshift.toggle()); |
||||
ralt.setOnClickListener(view -> ralt.toggle() ); |
||||
rgui.setOnClickListener(view -> rgui.toggle() );*/ |
||||
|
||||
send.setOnClickListener(view -> { |
||||
boolean holdlctrl=lctrl.isChecked(); |
||||
boolean holdlshift=lshift.isChecked(); |
||||
boolean holdlalt=lalt.isChecked(); |
||||
boolean holdlgui=lgui.isChecked(); |
||||
boolean holdrctrl=rctrl.isChecked(); |
||||
boolean holdrshift=rshift.isChecked(); |
||||
boolean holdralt=ralt.isChecked(); |
||||
boolean holdrgui=rgui.isChecked(); |
||||
int mods=0; |
||||
int bits=1; |
||||
|
||||
if(holdlctrl) { mods|=bits; } bits<<=1; |
||||
if(holdlshift) { mods|=bits; } bits<<=1; |
||||
if(holdlalt) { mods|=bits; } bits<<=1; |
||||
if(holdlgui) { mods|=bits; } bits<<=1; |
||||
if(holdrctrl) { mods|=bits; } bits<<=1; |
||||
if(holdrshift) { mods|=bits; } bits<<=1; |
||||
if(holdralt) { mods|=bits; } bits<<=1; |
||||
if(holdrgui) { mods|=bits; } bits<<=1; |
||||
|
||||
client.Send("GG:1|KYBD:0|KBMD:"+mods+"|;"); |
||||
|
||||
|
||||
String tosend=text.getText().toString(); |
||||
client.Send( "GG:1|KYBD:"+tosend.length()+"|KBKS:"+tosend+"|;"); |
||||
|
||||
// for (int i=0;i<tosend.length();i++) {
|
||||
// client.Send( "GG:1|KYBD:0|KBKY:"+tosend.charAt(i)+"|;");
|
||||
//
|
||||
// }
|
||||
|
||||
|
||||
client.Send("GG:1|KYBD:0|KBRA:0|;"); |
||||
|
||||
}); |
||||
} |
||||
} |
||||
@ -0,0 +1,100 @@ |
||||
package cf.cafelutza.gg; |
||||
|
||||
import android.os.Bundle; |
||||
import android.widget.Button; |
||||
|
||||
import androidx.appcompat.app.AppCompatActivity; |
||||
|
||||
public class TrackpadActivity extends AppCompatActivity { |
||||
@Override |
||||
public void onCreate(Bundle savedInstanceState) { |
||||
super.onCreate(savedInstanceState); |
||||
setContentView(R.layout.trackpad_activity); |
||||
|
||||
Button b00=findViewById(R.id.b00); |
||||
Button b01=findViewById(R.id.b01); |
||||
Button b02=findViewById(R.id.b02); |
||||
Button b03=findViewById(R.id.b03); |
||||
Button b10=findViewById(R.id.b10); |
||||
Button b11=findViewById(R.id.b11); |
||||
Button b12=findViewById(R.id.b12); |
||||
Button b13=findViewById(R.id.b13); |
||||
Button b20=findViewById(R.id.b20); |
||||
Button b21=findViewById(R.id.b21); |
||||
Button b22=findViewById(R.id.b22); |
||||
Button b23=findViewById(R.id.b23); |
||||
|
||||
UDP_Client client = MainScreen.client; |
||||
|
||||
b00.setOnClickListener(view -> { |
||||
client.Send("GG:1|MBTN:4|MBUD:1|;"); |
||||
|
||||
client.Send("GG:1|MBTN:4|MBUD:0|;"); |
||||
|
||||
}); |
||||
|
||||
b10.setOnClickListener(view -> { |
||||
client.Send("GG:1|MBTN:5|MBUD:1|;"); |
||||
|
||||
client.Send("GG:1|MBTN:5|MBUD:0|;"); |
||||
|
||||
}); |
||||
|
||||
|
||||
b01.setOnClickListener(view -> { |
||||
client.Send("GG:1|MBTN:2|MBUD:1|;"); |
||||
|
||||
client.Send("GG:1|MBTN:2|MBUD:0|;"); |
||||
|
||||
}); |
||||
|
||||
b02.setOnClickListener(view -> { |
||||
client.Send("GG:1|HTKY:0|HNTR:1|;"); |
||||
|
||||
}); |
||||
|
||||
b03.setOnClickListener(view -> { |
||||
client.Send("GG:1|HTKY:0|HSTB:1|;"); |
||||
|
||||
}); |
||||
|
||||
b13.setOnClickListener(view -> { |
||||
client.Send("GG:1|HTKY:0|HTAB:1|;"); |
||||
|
||||
}); |
||||
|
||||
b11.setOnClickListener(view -> { |
||||
client.Send("GG:1|MBTN:6|MBUD:1|;"); |
||||
|
||||
client.Send("GG:1|MBTN:6|MBUD:0|;"); |
||||
|
||||
}); |
||||
|
||||
b12.setOnClickListener(view -> { |
||||
client.Send("GG:1|MBTN:7|MBUD:1|;"); |
||||
|
||||
client.Send("GG:1|MBTN:7|MBUD:0|;"); |
||||
|
||||
}); |
||||
|
||||
b20.setOnClickListener(view -> { |
||||
client.Send("GG:1|HTKY:0|HCMI:1|;"); |
||||
|
||||
}); |
||||
|
||||
b21.setOnClickListener(view -> { |
||||
client.Send("GG:1|HTKY:0|HCPL:1|;"); |
||||
|
||||
}); |
||||
|
||||
b22.setOnClickListener(view -> { |
||||
client.Send("GG:1|HTKY:0|HCTW:1|;"); |
||||
|
||||
}); |
||||
|
||||
b23.setOnClickListener(view -> { |
||||
client.Send("GG:1|HTKY:0|HCTT:1|;"); |
||||
|
||||
}); |
||||
} |
||||
} |
||||
@ -0,0 +1,109 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<androidx.constraintlayout.widget.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"> |
||||
|
||||
<androidx.constraintlayout.widget.Guideline |
||||
android:id="@+id/guideline24" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:orientation="horizontal" |
||||
app:layout_constraintGuide_percent=".666" /> |
||||
|
||||
<cf.cafelutza.gg.TrackpadView |
||||
android:id="@+id/trackpadView2" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline24" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="parent" /> |
||||
|
||||
<androidx.constraintlayout.widget.Guideline |
||||
android:id="@+id/guideline25" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:orientation="horizontal" |
||||
app:layout_constraintGuide_percent=".832" /> |
||||
|
||||
<androidx.constraintlayout.widget.Guideline |
||||
android:id="@+id/guideline26" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:orientation="vertical" |
||||
app:layout_constraintGuide_percent=".333" /> |
||||
|
||||
<androidx.constraintlayout.widget.Guideline |
||||
android:id="@+id/guideline27" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:orientation="vertical" |
||||
app:layout_constraintGuide_percent=".666" /> |
||||
|
||||
<Button |
||||
android:id="@+id/bpen" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="Pen" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline25" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline26" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline24" /> |
||||
|
||||
<Button |
||||
android:id="@+id/berase" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="Erase" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline25" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="@+id/guideline27" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline24" /> |
||||
|
||||
<Button |
||||
android:id="@+id/binapoi" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="←" |
||||
android:textSize="34sp" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline26" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline25" |
||||
app:layout_constraintVertical_bias="0.533" /> |
||||
|
||||
<Button |
||||
android:id="@+id/bb" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="B" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline27" |
||||
app:layout_constraintStart_toStartOf="@+id/guideline26" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline25" /> |
||||
|
||||
<Button |
||||
android:id="@+id/binainte" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="→" |
||||
android:textSize="34sp" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="@+id/guideline27" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline25" /> |
||||
|
||||
<ToggleButton |
||||
android:id="@+id/toggleGyro" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:textAllCaps="false" |
||||
android:textOff="gyro" |
||||
android:textOn="GYRO" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline25" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline27" |
||||
app:layout_constraintStart_toEndOf="@+id/bpen" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline24" /> |
||||
</androidx.constraintlayout.widget.ConstraintLayout> |
||||
@ -0,0 +1,130 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<androidx.constraintlayout.widget.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"> |
||||
|
||||
<EditText |
||||
android:id="@+id/editTextText" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:ems="10" |
||||
android:hint="Text..." |
||||
android:inputType="text" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="parent" /> |
||||
|
||||
<Button |
||||
android:id="@+id/send" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:text="Send" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toBottomOf="@+id/editTextText" /> |
||||
|
||||
<TableLayout |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
app:layout_constraintBottom_toTopOf="@+id/send" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toBottomOf="@+id/editTextText"> |
||||
|
||||
<TableRow |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" > |
||||
|
||||
<ToggleButton |
||||
android:id="@+id/lctrl" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:checked="false" |
||||
android:text="lctrl" |
||||
android:textAllCaps="false" |
||||
android:textOff="lctrl" |
||||
android:textOn="LCTRL" /> |
||||
|
||||
<ToggleButton |
||||
android:id="@+id/lshift" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:checked="false" |
||||
android:text="lshift" |
||||
android:textAllCaps="false" |
||||
android:textOff="lshift" |
||||
android:textOn="LSHIFT" /> |
||||
|
||||
<ToggleButton |
||||
android:id="@+id/lalt" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:checked="false" |
||||
android:text="lalt" |
||||
android:textAllCaps="false" |
||||
android:textOff="lalt" |
||||
android:textOn="LALT" /> |
||||
|
||||
<ToggleButton |
||||
android:id="@+id/lgui" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:checked="false" |
||||
android:text="lgui" |
||||
android:textAllCaps="false" |
||||
android:textOff="lgui" |
||||
android:textOn="LGUI" /> |
||||
</TableRow> |
||||
|
||||
<TableRow |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" > |
||||
|
||||
<ToggleButton |
||||
android:id="@+id/rctrl" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:checked="false" |
||||
android:text="rctrl" |
||||
android:textAllCaps="false" |
||||
android:textOff="rctrl" |
||||
android:textOn="RCTRL" /> |
||||
|
||||
<ToggleButton |
||||
android:id="@+id/rshift" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:checked="false" |
||||
android:text="rshift" |
||||
android:textAllCaps="false" |
||||
android:textOff="rshift" |
||||
android:textOn="RSHIFT" /> |
||||
|
||||
<ToggleButton |
||||
android:id="@+id/ralt" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:checked="false" |
||||
android:text="ralt" |
||||
android:textAllCaps="false" |
||||
android:textOff="ralt" |
||||
android:textOn="RALT" /> |
||||
|
||||
<ToggleButton |
||||
android:id="@+id/rgui" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:checked="false" |
||||
android:text="rgui" |
||||
android:textAllCaps="false" |
||||
android:textOff="rgui" |
||||
android:textOn="RGUI" /> |
||||
</TableRow> |
||||
|
||||
</TableLayout> |
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout> |
||||
@ -0,0 +1,184 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<androidx.constraintlayout.widget.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"> |
||||
|
||||
<cf.cafelutza.gg.TrackpadView |
||||
android:id="@+id/trackpadView" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline15" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="parent" |
||||
/> |
||||
|
||||
<androidx.constraintlayout.widget.Guideline |
||||
android:id="@+id/guideline15" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:orientation="horizontal" |
||||
app:layout_constraintGuide_percent=".55" /> |
||||
|
||||
<Button |
||||
android:id="@+id/b00" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="^" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline18" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline20" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline15" /> |
||||
|
||||
<Button |
||||
android:id="@+id/b01" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="Meniu" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline18" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline21" |
||||
app:layout_constraintStart_toStartOf="@+id/guideline20" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline15" |
||||
app:layout_constraintVertical_bias="0.651" /> |
||||
|
||||
<Button |
||||
android:id="@+id/b02" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="Enter" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline18" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline22" |
||||
app:layout_constraintStart_toStartOf="@+id/guideline21" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline15" /> |
||||
|
||||
<Button |
||||
android:id="@+id/b03" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="inapoi" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline18" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="@+id/guideline22" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline15" /> |
||||
|
||||
<Button |
||||
android:id="@+id/b10" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="v" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline23" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline20" |
||||
app:layout_constraintHorizontal_bias="1.0" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline18" |
||||
app:layout_constraintVertical_bias="1.0" /> |
||||
|
||||
<Button |
||||
android:id="@+id/b11" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="Stanga" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline23" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline21" |
||||
app:layout_constraintStart_toStartOf="@+id/guideline20" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline18" /> |
||||
|
||||
<Button |
||||
android:id="@+id/b12" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="Dreapta" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline23" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline22" |
||||
app:layout_constraintStart_toStartOf="@+id/guideline21" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline18" /> |
||||
|
||||
<Button |
||||
android:id="@+id/b13" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="inainte" |
||||
app:layout_constraintBottom_toTopOf="@+id/guideline23" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="@+id/guideline22" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline18" /> |
||||
|
||||
<androidx.constraintlayout.widget.Guideline |
||||
android:id="@+id/guideline18" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:orientation="horizontal" |
||||
app:layout_constraintGuide_percent=".7" /> |
||||
|
||||
<androidx.constraintlayout.widget.Guideline |
||||
android:id="@+id/guideline20" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:orientation="vertical" |
||||
app:layout_constraintGuide_percent=".25" /> |
||||
|
||||
<androidx.constraintlayout.widget.Guideline |
||||
android:id="@+id/guideline21" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:orientation="vertical" |
||||
app:layout_constraintGuide_percent=".5" /> |
||||
|
||||
<androidx.constraintlayout.widget.Guideline |
||||
android:id="@+id/guideline22" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:orientation="vertical" |
||||
app:layout_constraintGuide_percent="0.75" /> |
||||
|
||||
<androidx.constraintlayout.widget.Guideline |
||||
android:id="@+id/guideline23" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:orientation="horizontal" |
||||
app:layout_constraintGuide_percent="0.85" /> |
||||
|
||||
<Button |
||||
android:id="@+id/b20" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="a" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline20" |
||||
app:layout_constraintStart_toStartOf="parent" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline23" /> |
||||
|
||||
<Button |
||||
android:id="@+id/b21" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="A" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline21" |
||||
app:layout_constraintStart_toStartOf="@+id/guideline20" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline23" /> |
||||
|
||||
<Button |
||||
android:id="@+id/b22" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="X" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toStartOf="@+id/guideline22" |
||||
app:layout_constraintStart_toStartOf="@+id/guideline21" |
||||
app:layout_constraintTop_toTopOf="@+id/guideline23" |
||||
app:layout_constraintVertical_bias="0.387" /> |
||||
|
||||
<Button |
||||
android:id="@+id/b23" |
||||
android:layout_width="0dp" |
||||
android:layout_height="0dp" |
||||
android:text="+" |
||||
app:layout_constraintBottom_toBottomOf="parent" |
||||
app:layout_constraintEnd_toEndOf="parent" |
||||
app:layout_constraintStart_toStartOf="@+id/guideline22" |
||||
app:layout_constraintTop_toBottomOf="@+id/b13" /> |
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout> |
||||
@ -0,0 +1,2 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<resources></resources> |
||||
Loading…
Reference in new issue