Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions TagEdittext/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.example.tagedittext;

import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.recyclerview.widget.RecyclerView;

import android.graphics.Bitmap;
Expand Down Expand Up @@ -29,45 +30,25 @@

public class MainActivity extends AppCompatActivity {
FlexboxLayout flexboxLayout;
FlexboxLayout flexboxLayout2;
RecyclerView rvTags;
EditText editText, et2;
Button btn, btn2;
RvAdapter adapter;
ConstraintLayout constraintLayout;
EditText initialEditText;
Button btn;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
constraintLayout = findViewById(R.id.constraintLayout);
flexboxLayout = findViewById(R.id.flexboxlayout);
flexboxLayout2 = findViewById(R.id.flexboxlayout2);
editText = findViewById(R.id.editText);
et2 = findViewById(R.id.et2);
initialEditText = findViewById(R.id.editText);
btn = findViewById(R.id.button);
btn2 = findViewById(R.id.button2);
rvTags = findViewById(R.id.rv_tags);

adapter = new RvAdapter();
FlexboxLayoutManager layoutManager = new FlexboxLayoutManager(this, FlexDirection.ROW, FlexWrap.WRAP);
rvTags.setLayoutManager(layoutManager);
rvTags.setAdapter(adapter);

btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!editText.getText().toString().isEmpty()) {
addSpecialist(editText.getText().toString());
} else {
Toast.makeText(MainActivity.this, "tag tidak boleh kosong", Toast.LENGTH_SHORT).show();
}
}
});

btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!et2.getText().toString().isEmpty()) {
addToRecyclerView(et2.getText().toString());
if (!initialEditText.getText().toString().isEmpty()) {
addSpecialist(initialEditText.getText().toString());
initialEditText.setText("");
} else {
Toast.makeText(MainActivity.this, "tag tidak boleh kosong", Toast.LENGTH_SHORT).show();
}
Expand All @@ -76,14 +57,12 @@ public void onClick(View v) {

}

private void addToRecyclerView(String tag) {
adapter.addTagSpecialist(tag);
}

private void addSpecialist(final String tagSpecialist) {
// flexboxLayout.removeAllViews();
if(initialEditText != null){
flexboxLayout.removeView(initialEditText);
}

TextView tvSpecialist = new TextView(this);
final TextView tvSpecialist = new TextView(this);
tvSpecialist.setText(tagSpecialist);
tvSpecialist.setTextSize(TypedValue.COMPLEX_UNIT_SP, Float.parseFloat("16"));
tvSpecialist.setBackground(getResources().getDrawable(R.drawable.bordered_rectangle_rounded_corners));
Expand All @@ -95,12 +74,29 @@ private void addSpecialist(final String tagSpecialist) {
lp.setMargins(10, 10, 10, 10);
tvSpecialist.setLayoutParams(lp);
flexboxLayout.addView(tvSpecialist);
//hitung selisih view
int emptySpace = flexboxLayout.getRight() - tvSpecialist.getRight();
FlexboxLayout.LayoutParams lpEditText;
if (emptySpace < 75){
lpEditText = new FlexboxLayout.LayoutParams(FlexboxLayout.LayoutParams.WRAP_CONTENT, FlexboxLayout.LayoutParams.FILL_PARENT);
}else{
lpEditText = new FlexboxLayout.LayoutParams(emptySpace, FlexboxLayout.LayoutParams.FILL_PARENT);
}
if (initialEditText == null){
initialEditText = new EditText(this);
initialEditText.setLayoutParams(lpEditText);
}
flexboxLayout.addView(initialEditText);

tvSpecialist.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
flexboxLayout.removeView(tvSpecialist);
Toast.makeText(MainActivity.this, tagSpecialist, Toast.LENGTH_SHORT).show();
}
});

//add the edittext at the end of flexboxLayout
final EditText etNew = new EditText(this);
}
}
73 changes: 5 additions & 68 deletions TagEdittext/app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/constraintLayout"
tools:context=".MainActivity">


Expand All @@ -27,7 +28,7 @@
android:layout_alignParentEnd="true"
android:layout_marginStart="32dp"
android:layout_marginEnd="32dp"
app:flexDirection="row_reverse"
app:flexDirection="row"
app:flexWrap="wrap"
app:justifyContent="flex_start"
app:layout_constraintEnd_toEndOf="parent"
Expand All @@ -36,86 +37,22 @@
app:layout_constraintTop_toTopOf="parent">

<EditText

android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:ems="10"
android:hint="@string/string_enter_item"
android:inputType="numberDecimal"
android:inputType="textLongMessage"
android:maxLines="3"
android:lines="2"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</com.google.android.flexbox.FlexboxLayout>

<com.google.android.flexbox.FlexboxLayout
android:id="@+id/flexboxlayout2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginStart="32dp"
android:layout_marginEnd="32dp"
android:layout_marginBottom="332dp"
android:background="@color/colorBackground"
app:flexDirection="row"
app:flexWrap="wrap"
app:justifyContent="flex_start"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent">

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_tags"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:ems="10"
android:hint="@string/string_enter_item"
android:inputType="numberDecimal"
android:orientation="horizontal"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<EditText
android:id="@+id/et2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:ems="10"
android:hint="@string/string_enter_item"
android:inputType="numberDecimal"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</com.google.android.flexbox.FlexboxLayout>

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:text="@string/string_show_flex"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/flexboxlayout2" />

</androidx.constraintlayout.widget.ConstraintLayout>