Hallo zusammen,
ich versuche grad ein weiteres Problem zu lösen. Und zwar wollte ich eigentlich nur von einer Textview den Text vergrößern bzw. verkleinern wenn man die entsprechende Geste auf dem Touchdisplay macht.....
Wenn man naiv an die Sache ran geht denkt man zuerst das diese Funktionalität bereit in den TextViews integriert sein müsste.... aber leider ist das nicht so.
Es gibt zwar ein WebView der sowas ähnliches macht, aber immer eine URL als Quelle benötigt.....
Daher habe ich nach vielem lesen zumindest den Ansatz gefunden das es notwendig ist diese Geste per Event zu erkennen und dann entsprechend der Geste (und dem Abstand zwischen den Finger) den Text dynamisch zu manipulieren indem man die Textgröße selber ändert (textview.setTextSize = 25;)......
Nun habe ich aber verschiedene Beispiele unterschiedlicher Natur gefunden kam aber auch hier nicht ans Ziel.
Hat jemand zufällig ein gekapseltes Beispiel wonach ich versuchen kann dieses zu implementieren?
Als Quelle habe ich bisher das gefunden aber nicht umsetzen können:
http://stackoverflow.com/quest…375817/android-pinch-zoom
http://www.zdnet.com/blog/burn…e-pinch-zoom-gesture/1847
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Android (von englisch android /ˈænˌdrɔjd: von griechisch androïdes menschenähnlich, ‚Androide‘) ist sowohl ein Betriebssystem als auch eine Software-Plattform für mobile Geräte wie Smartphones, Mobiltelefone, Netbooks und Tablets,[3] die von der Open Handset Alliance (Hauptmitglied: Google) entwickelt wird. Basis ist der Linux-Kernel. Bei Android handelt es sich um freie Software, die quelloffen entwickelt wird.[2] Angaben des Marktforschungsunternehmens Gartner zufolge hatte Android als Smartphone-Betriebssystem im dritten Quartal 2011 einen weltweiten Marktanteil von 52,5 Prozent, nach 25,5 Prozent im dritten Quartal 2010.[4]
Am 27. Februar 2012 gab Google an, dass 850.000 Android-Geräte pro Tag aktiviert werden.[5]
Im Sommer 2005 kaufte Google das im Herbst 2003 von Andy Rubin gegründete Unternehmen Android, von dem nur wenig mehr bekannt war, als dass es Software für Mobiltelefone entwickelte und standortbezogene Dienste favorisierte.[6] Am 5. November 2007 gab Google bekannt, gemeinsam mit 33 anderen Mitgliedern der Open Handset Alliance ein Mobiltelefon-Betriebssystem namens Android zu entwickeln.[7] Seit dem 21. Oktober 2008 ist Android offiziell verfügbar.[8]
Als erstes Gerät mit Android als Betriebssystem kam am 22. Oktober 2008 das HTC Dream unter dem Namen T-Mobile G1 in den Vereinigten Staaten auf den Markt. Dass bereits dieses erste Gerät auf das Global Positioning System zugreifen konnte und mit Bewegungssensoren ausgestattet war, gehörte zum Konzept von Android." />
</LinearLayout>
Alles anzeigen
public class Textansicht extends Activity
{
private TextView text;
private GestureDetector gestureDetector;
private View.OnTouchListener gestureListener;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.textansicht);
text = (TextView)findViewById(R.id.textView1);
// Erkenne Geste
setTextSize(text);
}
/*
* Verändert die Textgröße anhand der aktuellen Geste
*/
public void setTextSize(TextView textview)
{
// Merke die aktuelle Textgröße
float aktuelleTextgroesse = textview.getTextSize();
// Bereche den Abstand zwischen den Fingern und ermittel den Zoom-Faktor
double zoomfaktor = 1.4;
// Ändere die Textgröße um diesen Faktor
textview.setTextSize((float)(aktuelleTextgroesse * zoomfaktor));
}
}
Alles anzeigen