Im working on my own application which contains my thoughts, ideas of life. The system works like a random facts app, which is like clicking on a button and the idea (a TextView) is changing. I made that with setText so the text is changing and the multiple texts are in a string.
What i want to achieve:
1. The background (i made multiple png files) is changing when the button click. (not only the text).
2. I would prefer swipe action than the button click method, because its only go forward. Its like a next button, and i want to swipe back to previous text and swipe right to the next text.
These are my complicated classes and xmls :/ ( i hope you can understand)
MainActivity.java
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
NavigationView navigationView = null;
Toolbar toolbar = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Set the fragment initially
MainFragment fragment = new MainFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_camera) {
MainFragment fragment = new MainFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
// Handle the camera action
} else if (id == R.id.nav_gallery) {
GalleryFragment fragment = new GalleryFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
} else if (id == R.id.nav_slideshow) {
SlideshowFragment fragment = new SlideshowFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
} else if (id == R.id.nav_manage) {
ManageFragment fragment = new ManageFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
} else if (id == R.id.nav_test) {
TestFragment fragment = new TestFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
} else if (id == R.id.nav_motivacio) {
MotivacioFragment fragment = new MotivacioFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
} else if (id == R.id.nav_befektet) {
BefektetFragment fragment = new BefektetFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
}else if (id == R.id.nav_kifogas) {
KifogasFragment fragment = new KifogasFragment();
android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
}
A fragment from several, its called MotivacioFragment.java
public class MotivacioFragment extends Fragment implements View.OnClickListener {
View rootView1;
RelativeLayout bg;
Facts factHolder = new Facts();
public MotivacioFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
rootView1 = inflater.inflate(R.layout.fragment_motivacio, container, false);
Button buttonClick = (Button) rootView1.findViewById(R.id.randoms);
buttonClick.setOnClickListener(this);
return rootView1;
}
private void next() {
((TextView) rootView1.findViewById(R.id.szoveggomgb)).setText(factHolder.nextFact());
}
private void prev() {
((TextView) rootView1.findViewById(R.id.szoveggomgb)).setText(factHolder.prevFact());
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.randoms:
next();
break;
}
}
}
The layout of the fragment called: fragment_motivacio.xml
<RelativeLayout xmlns:android="http://ift.tt/nIICcg"
xmlns:tools="http://ift.tt/LrGmb4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/background"
tools:context="aarontoth.aarontoth.MotivacioFragment">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="@drawable/a12"
android:weightSum="1">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="62dp"
android:layout_gravity="center_horizontal"
android:layout_weight="0.14">
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="0.05">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Siker"
android:id="@+id/textView3"
android:layout_marginTop="0dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:textStyle="bold"
android:typeface="serif"
android:fontFamily="serif"
android:phoneNumber="false"
android:shadowRadius="2"
android:shadowColor="#474747"
android:shadowDx="2"
android:shadowDy="4"
android:textColor="#ffe100"
android:layout_gravity="center" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="0.51"
android:weightSum="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Értékes gondolatok a sikerről."
android:id="@+id/szoveggomgb"
android:layout_marginTop="0dp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:textStyle="bold"
android:typeface="serif"
android:fontFamily="serif"
android:phoneNumber="false"
android:shadowRadius="2"
android:shadowColor="#474747"
android:shadowDx="2"
android:shadowDy="4"
android:textColor="#ffffff"
android:layout_margin="20dp" />
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="0.54"></LinearLayout>
<Button
android:layout_width="53dp"
android:layout_height="wrap_content"
android:id="@+id/randoms"
android:onClick="doSomething"
android:layout_gravity="center_horizontal"
android:layout_margin="20dp"
android:background="@drawable/ic_action_arrow_right" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="0.29"></LinearLayout>
</LinearLayout>
The textView's id is: szoveggomgb The button's id is:randoms
The facts from the string is in Facts.java
public class Facts {
String facts[] = {
"Szenvedély, Kitartás, Türelem. ",
"A sikernek ára van, nem titka.",
"Ha az élen vagy, tartsd a pofád és maradj ott!",
"Az első kapja gyöngyöt a második csak a kagylót.",
"Tanulni, hallgatnod kell. Fejlődni pedig próbálni.",
"Nem az a lényeg, hogy kivagy hanem hogy mit mondasz.",
"A tökéletesség a célunk; kiválóság nem megengedhető.",
"Ha valamiben te vagy a legjobb, soha ne add ingyen.",
"Annak, aki fegyelmezi magát, jobbak az esélyei a győzelemre.",
"A minőségre sokáig emlékeznek, miután az ár feledésbe merült.",
"Akik a semmit tűzik ki célul, azok rendszerint el is érik azt. ",
"Nem a sikeres ember boldog, hanem a boldog ember lesz sikeres.",
"Átlag emberekből, átlag teljesítményéből átlag eredmények lesznek.",
"Ha nem tudsz valamit egyszerűen elmagyarázni, akkor nem érted elégé.",
"A kudarc az egyetlen lehetőség arra, hogy még okosabban kezdjük újra. ",
"Kis dolgok csinálják a tökéletességet, de a tökéletesség nem kis dolog.",
"Ha nem gondold úgy, hogy minden nap jó, akkor próbálj ki egyett nélküle.",
"Nem kell nagy lenned, hogy elkezdhesd. El kell kezdened, hogy nagy lehess. ",
"A sikeres ember az alatt az idő alatt halad előre, amit mások elpazarolnak. ",
"Az egyetlen lehetséges út, hogy jobbá váljál, ha jobb emberekkel veszed magad körbe.",
"A sikert és a kudarcot elválasztó vonalat a „nem volt időm” szavakkal lehet kifejezni.",
"Nem úgy tanulsz, hogy követed a már bevett sémákat, hanem bukásokkal és újrakezdésekkel.",
"Soha nem érsz célba, ha folyton megállsz, mert meg akarsz kövezni minden kutyát, amelyik ugat.",
"Az értéked, megbecsülésed nem csökken az alapján, ha valaki nem képes benned látni az értéket.",
"Intézkedned kell, hogy legyenek eredmények. Ne várj lehetőségekre. Neked kell létrehoznod a lehetőségeket.",
"Hiszek abban, hogy ha bármilyen területen sikeres akarok lenni, ahhoz az kell, hogy mestere legyek ennek a területnek.",
"Sose mondtam, hogy \"hát, nekem ez sincs, nekem az sincs\". Azt mondtam: nekem ilyenem még nincs, de meg fogom szerezni.",
"A legjobb, ha az ember valami megbotránkoztató dologgal nyit. Leginkább így lehet tudatni a világgal, hogy megjelentél a színen.",
"Attól a versenytárstól kell félned, amelyik egyáltalán nem foglalkozik veled. Csinálja a dolgát, méghozzá egyre jobban és jobban.",
"Ha azt hiszed, túl kicsi vagy ahhoz, hogy nagy hatással lehess bármire, feküdj le este aludni úgy, hogy egy szúnyog van a szobádban.",
"Különös, hogy több időt töltünk azzal, hogy gratuláljunk azoknak, akiknek sikerült, mint azzal, hogy bátorítsuk azokat, akiknek nem.",
"A tegnapi hibák, a mának a magjai, amelyeket szorgalmasan kell elültetni, hogy képesek legyenek bőségesen learatni a holnapnak a sikereit. ",
"Tökéletességre törekszünk mindenben. A legjobbat vesszük, ami létezik és jobbá tesszük. Ha nem lérezik, akkor létrehozzuk. Nem fogadjuk el, az egész jót.",
"Ha három madár ül egy kerítésen, és kettő elhatározza, hogy elrepül, hány madár marad a kerítésen? A válasz: három. A tanulság: attól, hogy elhatározol valamit, még nem teszed meg.",
"Természetesen az élet fontos része a szórakozás. De miközben te partizol és hülyéskedsz, aközben valaki más keményen dolgozik. Valaki tanul, és valaki győz. Ezt sose téveszd szem elől.",
"Úgy gondolom, hogy gyorsan sikert elérni nem lehet. A siker olyan, mint a gyémánt. Hosszú évek alatt, hatalmas nyomás alatt lassan alakul ki. De ha ezeken átmegy akkor az értéke az egekben van.",
"A győztesek állandóan a Tudok, Fogok, Vagyok szempontból gondolkoznak. A vesztesek másrészt pedig a gondolataikat arra koncentrálják, hogy mit Kellene, mit kellet volna vagy mit nem kellet volna csinálni.",
"Tanuló vagy? Ha Igen. Menj gyakorolni. Ha Nem? Találd meg a legnehezebb technikát és Gyakorold. Valaki jobb nálad? Ha igen, gyakorolj tovább, ha nem keress valakit aki jobb náldad és gyakorolj. Pont befejezted a gyakorlást? Menj aludni, kelj fel és gyakorolj. Pont most gyakorolsz? Jó. Ne hagyd abba.",
"Sikeres ember és az átlagember között az a különbség, hogy mennyi kritikát bírnak el. Az átlagember nem nagyon bírja a kritikát, ezért marad átlagos az élete. Ezért nem lesz belőle vezető. Az átlagember félelemben él, hogy mit mondanak vagy gondolnak róla mások. Ezért éli úgy az életét, hogy a többi átlagemberrel tart."
};
int i = 0;
public String nextFact()
{
i++;
if(i >= facts.length)
{
i = 0;
}
return facts[i];
}
public String prevFact(){
i--;
if(i < 0){
i = facts.length;
}
return facts[i];
}
}
I hope you guys can help!
Aucun commentaire:
Enregistrer un commentaire