Hallo,
kurz zu mir:
- Anfänger, habe mir Android Studio vor zwei Wochen geladen.
- Programmierkenntnisse: keine.
- Ziele: mit den Aufgaben wachsen.
Die letzten Tage schrieb ich eine App zusammen, welche alles gelernte bündeln soll, also mein Erfahrungsbaum praktisch
(Video: https://www.youtube.com/watch?v=FOH_JCNpH7o&feature=youtu.be). Neben vielen Tutorials baute ich paar einfache nach. Ebenso lese ich mich in die Dev. Bibliothek rein und neben dem Programm "setOnClickListener" ist das Programm „Transition Drawable“ das erste selbstgeschriebene Programm.
Nun zu den Programmen der Reihe nach:
Thema „setOnClickListener“ (Es soll nur die Guyman-Seite besprochen werden, für Thomas habe ich eine Wischgeste gedacht.):
Ich experimentierte erst mit Bitmap, jedoch ohne Ergebnisse.
- Resources res = getResources();
- Drawable drawable = res.getDrawable(R.drawable.myimage);
brache eine Fehlermeldung, dass get.Drawable obsolet sei, da kam ich nicht weiter. Darum machte ich es so:
____________________________________________________________________________________________________Programmcode setOnClickListener
package de.maxmusterman.androidbibliothek;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity_3020 extends AppCompatActivity {
/**-------------------------------------------------------------------------setOnClickListener - Guyman Anzeigefeld*/
ImageView guyman_of_3020, guyman_on_3020, guyman_smile_3020, guyman_love_3020,
guyman_music_3020, display_3020;
Button btn_3020;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_3020);
/**-----------------------------------------------------------------------------------------------------------------------*/
guyman_love_3020 = (ImageView)findViewById(R.id.guyman_love_3020);
guyman_music_3020 = (ImageView)findViewById(R.id.guyman_music_3020);
guyman_smile_3020 = (ImageView)findViewById(R.id.guyman_smile_3020);
guyman_of_3020 = (ImageView)findViewById(R.id.guyman_of_3020);
guyman_on_3020 = (ImageView)findViewById(R.id.guyman_on_3020);
display_3020 = (ImageView)findViewById(R.id.display_3020);
/**----------------------------------------------------------------------------------------------------Activity-Wechsel*/
btn_3020 = (Button)findViewById(R.id.btn_3020);
btn_3020.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity_3020.this, MainActivity_3021.class);
startActivity(intent);
onStop();
}
});
/**-------------------------------------------------------------------------------------------------------------------Klick*/
guyman_on_3020.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView on = (ImageView)findViewById(R.id.display_3020);
on.setImageResource(R.drawable.guyman_on);
}
});
guyman_smile_3020.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView smile = (ImageView)findViewById(R.id.display_3020);
smile.setImageResource(R.drawable.guyman_smile);
}
});
guyman_love_3020.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView love = (ImageView)findViewById(R.id.display_3020);
love.setImageResource(R.drawable.guyman_love);
}
});
guyman_music_3020.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView music = (ImageView)findViewById(R.id.display_3020);
music.setImageResource(R.drawable.guyman_music);
}
});
guyman_of_3020.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView of = (ImageView)findViewById(R.id.display_3020);
of.setImageResource(R.drawable.guyman_of);
}
});
}
}
____________________________________________________________________________________________________________Fragen zum Programm
- ist es so in Ordnung?
- was ist verbesserungswürdig?
- wie bekommt man saubere, profisionelle Wechsel zwischen den Activities hin?
____________________________________________________________________________________________________Programmcode Transition Drawable
package de.maxmusterman.androidbibliothek;
import android.content.Intent;
import android.graphics.drawable.TransitionDrawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity_2000 extends AppCompatActivity {
/** -----------------------------------------------------------------------------------------Transition Drawable*/
Toolbar toolbar_2000;
ImageView imageView_2000;
Button btn_2000;
/**-------------------------------------------------------------------------------------------------------------------*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_2000);
/**---------------------------------------------------------------------------------------------------------------*/
toolbar_2000 = (Toolbar) findViewById(R.id.toolbar_2000);
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
toolbar_2000.setTitle(bundle.getString(""));
}
/**--------------------------------------------------------------------------------------------Activity Wechsel*/
imageView_2000 = (ImageView)findViewById(R.id.imageView_2000);
btn_2000 = (Button)findViewById(R.id.btn_2000);
btn_2000.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity_2000.this, MainActivity_2001.class);
startActivity(intent);
finish();
}
});/**--------------------------------------------------------------------------------------------------------Klick*/
/** Die Feinheit liegt darin:
* - erstelle eine transitions.xml in dem drawable Ordner
* - <transition></transition>
* - erstelle zwei items (dabei gilt, erste zwei werden darin eingebunden)
* - das Bild an erster Stelle in der transitions.xml ist das Startbild
*
* - <ImageView>
* android:src="@drawable/transitions"
* </ImageView>
* */
imageView_2000.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TransitionDrawable drawable = (TransitionDrawable) imageView_2000.getDrawable();
drawable.startTransition(500);
}
});
imageView_2000.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TransitionDrawable drawable = (TransitionDrawable) imageView_2000.getDrawable();
drawable.reverseTransition(500);
}
});
}
}
_______________________________________________________________________________________________________________Fragen zum Programm
In der Hilfestellung von Transition Drawable habe ich in der Main Activity ein Bild vom Programmcode hinterlegt.
Das sieht nicht gut aus.
- wie bekomme ich an dieser Stelle sauber den Programmcode niedergeschrieben, mit Klammerabständen usw.?
Eventuell noch paar Tips über die Primären Ziele und Literatur am Anfang.
Vielen Dank für eure Zeit, bin für jeden Ratschlag sehr dankbar.
LG Beginndroide