Untitled
unknown
plain_text
2 years ago
14 kB
19
Indexable
AndroidManifest <uses-permission android:name="android.permission.INTERNET"/>
package com.example.myapplication;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.fragment.app.Fragment;
public class FavoriteFragment extends Fragment {
public FavoriteFragment(){
// require a empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_favorite, container, false);
}
}
package com.example.myapplication;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.fragment.app.Fragment;
public class GalleryFragment extends Fragment {
public GalleryFragment(){
// require a empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_gallery, container, false);
}
}
package com.example.myapplication;
import static android.content.ContentValues.TAG;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.fragment.app.Fragment;
//import com.android.volley.AuthFailureError;
//import com.android.volley.Request;
//import com.android.volley.RequestQueue;
//import com.android.volley.Response;
//import com.android.volley.VolleyError;
//import com.android.volley.toolbox.JsonObjectRequest;
//import com.android.volley.toolbox.StringRequest;
//import com.android.volley.toolbox.Volley;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
public class GenerateFragment extends Fragment {
EditText prompt;
Button btDraw, btSave, btShare;
ImageView imgView;
// private RequestQueue mRequestQueue;
// private StringRequest mStringRequest;
private String url = "https://api.deepai.org/api/text2img";
public GenerateFragment(){
// require a empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_generate, container, false);
prompt = view.findViewById(R.id.prompt);
imgView = view.findViewById(R.id.imgView);
btDraw = view.findViewById(R.id.btDraw);
btSave = view.findViewById(R.id.btSave);
btShare = view.findViewById(R.id.btShare);
// prompt.setOnEditorActionListener(new TextView.OnEditorActionListener() {
// @Override
// public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
// if(i== EditorInfo.IME_ACTION_SEND){
// String text = prompt.getText().toString().trim();
// if(text.length()>0){
//// try {
//// getResponse(text);
//// } catch (JSONException e) {
//// throw new RuntimeException(e);
//// }
// }
// else {
// Toast.makeText(getContext(), "Please enter something", Toast.LENGTH_SHORT).show();
// }
// return true;
// }
// return false;
// }
// });
//
return view;
}
// private void getResponse(String text) throws JSONException {
// mRequestQueue = Volley.newRequestQueue(getContext());
// JSONObject jsonObject = new JSONObject();
// jsonObject.put("text",text);
//// jsonObject.put("api-key","quickstart-QUdJIGlzIGNvbWluZy4uLi4K");
//
// JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, url, jsonObject, new Response.Listener<JSONObject>() {
// @Override
// public void onResponse(JSONObject response) {
// try {
// String imgUrl = (String) response.getString("output_url");
// System.out.println("image: "+imgUrl);
// } catch (JSONException e) {
// throw new RuntimeException(e);
// }
// }
//
// },new Response.ErrorListener() {
// @Override
// public void onErrorResponse(VolleyError error) {
// error.printStackTrace();
// }
// }){
// @Override
// public Map<String, String> getHeaders() throws AuthFailureError {
// Map<String, String> params = new HashMap<String, String>();
// params.put("api-key", "quickstart-QUdJIGlzIGNvbWluZy4uLi4K");
// return params;
// }
// };
// mRequestQueue.add(jsonObjectRequest);
// }
}
package com.example.myapplication;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import com.google.android.material.bottomnavigation.BottomNavigationView;
public class MainActivity extends AppCompatActivity implements BottomNavigationView.OnNavigationItemSelectedListener {
GenerateFragment generateFragment = new GenerateFragment();
GalleryFragment galleryFragment = new GalleryFragment();
FavoriteFragment favoriteFragment = new FavoriteFragment();
BottomNavigationView bottomNavigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bottomNavigationView = findViewById(R.id.bottomNavigationView);
bottomNavigationView.setOnNavigationItemSelectedListener(this);
bottomNavigationView.setSelectedItemId(R.id.generate);
}
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
if(item.getItemId()==R.id.generate) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.flFragment, generateFragment)
.commit();
return true;
}
else if(item.getItemId()==R.id.gallery) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.flFragment, galleryFragment)
.commit();
return true;
}
else if(item.getItemId()==R.id.favorite){
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.flFragment, favoriteFragment)
.commit();
return true;
}
return false;
}
}
<?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"
tools:context=".MainActivity">
<FrameLayout
android:id="@+id/flFragment"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/bottomNavigationView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="75dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:menu="@menu/bottom_nav_menu"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".FavoriteFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="100dp"
android:text="Favorite" />
</FrameLayout>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".GalleryFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="100dp"
android:text="Gallery" />
</FrameLayout>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".GenerateFragment">
<!-- TODO: Update blank fragment layout -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="10">
<TextView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="Create AI Art with our free AI image generator."
android:textSize="17dp"
android:textAlignment="center"/>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/pprompt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="5dp"
android:hint="Enter your query to generate image"
android:padding="5dp"
android:textColorHint="@color/white">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/prompt"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
android:drawableEnd="@drawable/ic_send"
android:drawableTint="@color/white"
android:ems="10"
android:imeOptions="actionSend"
android:importantForAutofill="no"
android:inputType="textEmailAddress"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:textSize="14sp" />
</com.google.android.material.textfield.TextInputLayout>
<Button
android:id="@+id/btDraw"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="Draw"
android:textSize="20dp">
</Button>
<ImageView
android:id="@+id/imgView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="5">
</ImageView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal"
android:weightSum="2">
<Button
android:id="@+id/btSave"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="Save"
android:textSize="20dp">
</Button>
<Button
android:id="@+id/btShare"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="Share"
android:textSize="20dp">
</Button>
</LinearLayout>
</LinearLayout>
</FrameLayout>
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/generate"
android:title="Generate"
android:icon="@drawable/ic_generate"/>
<item
android:id="@+id/gallery"
android:title="Gallery"
android:icon="@drawable/ic_gallery"/>
<item
android:id="@+id/favorite"
android:title="Favorite"
android:icon="@drawable/ic_favorite"/>
</menu>
Themes.xml
<style name="Base.Theme.MyApplication" parent="Theme.Material3.DayNight.NoActionBar">
Editor is loading...