Beiträge von Alpha
-
-
hi community,
es ist ja möglich eine imageview mit animationdrawable zu animieren indem man in der xml die einzelnen grafikdateien der reihenfolge nach festlegt...
nun frage ich mich, ob man auf diese art auch ein livewallpaper erstellen könnte.
habt ihr dazu eine idee ?
-
private AnimationDrawable animatedImageview;
private ImageView imageViewAnimation;dann kommt in die oncreate methode
imageViewAnimation = (ImageView)this.findViewById(R.id.imageViewAnimation);
if (imageViewAnimation.getDrawable() instanceof AnimationDrawable)
{
animatedImageview = (AnimationDrawable)this.imageViewAnimation.getDrawable();
Handler handler = new Handler(getMainLooper());
handler.postDelayed(new Runnable()
{@Override
public void run() {
animatedImageview.start();
}
}
, 1500);
}deine animation.xml sollte ungefähr so aussehen und sich im ordner drawable befinden (ist in diesem beispiel so. kann ja natürlich auch geändert werden, wobei du dann das auch in der layout abändern musst.)
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" ><item android:drawable="@drawable/bild1" android:duration="500"/>
<item android:drawable="@drawable/bild2" android:duration="500"/>
<item android:drawable="@drawable/bild3" android:duration="500"/>
<item android:drawable="@drawable/bild4" android:duration="500"/>
<item android:drawable="@drawable/bild5" android:duration="500"/>
<item android:drawable="@drawable/bild6" android:duration="500"/>
<item android:drawable="@drawable/bild7" android:duration="500"/>
...
...
...
</animation-list>in deiner layout sollte sich dann die imageview wie folgt befinden:
<ImageView
android:id="@+id/imageViewAnimation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="center"
android:src="@drawable/animation" />sooo..... habe es nicht getestet, habe es aus nem projekt nur copy&paste...
sollte denke ich soweit funktionieren... falls nicht, hast ja zumindest mal nen guten ansatz dafür, wie es funktionieren kann xD
-
solch ein app suche in schon seit langem... aber leider wurde ich bisher nie fündig...
die bisherigen apps blockieren meiner meinung nach nicht die anrufe, sondern weisen automatisch ab.
als ich damals ein Samsung D600 genutzt hatte mit CFW wurde diese funktion schon eingebaut, welche den anruf aber auch wirklich geblockt haben. den anrufer bekam immer den standartspruch zu hören als ob das handy ausgeschaltet wäre. daraufhin habe ich immer von Vodafone ne sms bekommen mit entgangenem anruf...
ich verstehe nicht wie die das damals hinbekommen haben, und nach ca. 6 - 7 jahren die heutigen smartphones das nicht können...
also wenn einer solche eine wirklich gute funktionierende app entwickelt, dem garantiere ich jetzt schon mein kauf
-
-
ich glaube du hast dir da ein wenig zuviel vorgenommen...
ich würde dir empfehlen es erstmal klein anzugehen...
ich nehme oft tutorials irgendwo vom netz, versuche danach aufzubauen, es abzuändern und mit kleinigkeiten zu erweitern...
-
sollte da nicht der pfad zu einer Activity sein anstatt zu einem layout ?
und dann in der Activity mit setContentView der pfad zur layout ?
oder täusche ich mich da ? ich frage eigentlich nur weil ich selbst noch programmier anfänger bin und immer noch dazulernen kann / möchte.
-
du könntest doch auch bestimmt einen bestätigungs / übernehmen / ok button einfügen und dann beim klicken die einstellungen speichern und das dialog schließen.
-
*push*
// Beitrag Editiert. Hoffe nun das mein Problem etwas verständlicher dargestellt wurde.
Gruß Alpha
-
****PUSH***
~~~~~~~~~~~~
Das Problem besteht immernoch... bei einem reinstall bei schon angelegtem widget funktioniert es.... ansonsten nicht...
-
soweit ich mir erinnern kann wurde das update auf 4.0.3 rückgängig gemacht. wahrscheinlich irgendwelche fehler dadurch entstanden...
ich habe auch das Galaxy Nexus... bin auch auf 4.0.4 aber dank CyanogenMOD ! In der Anfangszeit bekam ich 2 mal eine updatebenachrichtigung.... beidemale habe ich diese bestätigt, heruntergeladen und bei reboot ins recovery zum installieren der neuen Firmware kam einfach jedesmal eine fehlermeldung...
ich finde es eigentlich auch ziemlich beschissen das diese update geschichte nicht reibungslos funktioniert... deshalb empfehle ich Custom Roms. / CyanogenMOD !
-
Hallo Community, ich habe ein Widget welches sich beim daraufklicken eigentlich die AlarmClock App öffnen sollte... Doch leider funktioniert diese nicht.
Wenn das Widget auf dem HomeScreen platziert ist und ich in eclipse erneut Run drücke / es erneut installiere funktioniert es. Kann mir einer erklären woran das liegt ?
Hier mal ein auszug aus der
Java
Alles anzeigenpublic class ClockWidgetProvider extends AppWidgetProvider { public static final String TAG = "Widget"; public void onReceive(Context context, Intent intent) { Log.v(TAG, "Widget onReceive() gestartet"); if (Build.VERSION.SDK_INT <= 8) { RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); Intent AlarmClockIntent = new Intent(Intent.ACTION_MAIN) .addCategory(Intent.CATEGORY_LAUNCHER).setComponent( new ComponentName("com.android.alarmclock", "com.android.alarmclock.AlarmClock")); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, AlarmClockIntent, 0); views.setOnClickPendingIntent(R.id.Widget, pendingIntent); AppWidgetManager .getInstance(context) .updateAppWidget( intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS), views); } else { RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); Intent AlarmClockIntent = new Intent(Intent.ACTION_MAIN) .addCategory(Intent.CATEGORY_LAUNCHER).setComponent( new ComponentName("com.android.deskclock", "com.android.deskclock.AlarmClock")); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, AlarmClockIntent, 0); views.setOnClickPendingIntent(R.id.Widget, pendingIntent); AppWidgetManager .getInstance(context) .updateAppWidget( intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS), views); } } static void updateAppWidget(Context context, AppWidgetManager appWidgetManager, int appWidgetId, String designPref) { Log.d(TAG, "updateAppWidget appWidgetId=" + appWidgetId + " designPref=" + designPref); RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); // Tell the widget manager appWidgetManager.updateAppWidget(appWidgetId, views); } }
früher funktionierte der Code eigentlich...
Nachdem ich aber mit hilfe von "UweApps" dem Widget noch ein Config gegeben habe, ist die funktion wie oben schron beschrieben nur nach neuinstallation möglich..
Und hier der Code der Config:
Java
Alles anzeigenpublic class ClockWidgetConfig extends Activity { public static final String TAG = "ClockConfig"; private static final String PREFS_NAME = "de.bk.icsanalogclock"; private static final String PREF_PREFIX_KEY = "widgetimg"; private Context context = this; private int appWidgetId; private Spinner spinner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.v(TAG, "Starte Config"); setContentView(R.layout.config); // hole WidgetID Intent launchIntent = getIntent(); Bundle extras = launchIntent.getExtras(); appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); // setzte CancelValue Intent cancelResultValue = new Intent(); cancelResultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); setResult(RESULT_CANCELED, cancelResultValue); // Lade Config-UI spinner = (Spinner) findViewById(R.id.spinner1); // fülle Spinner ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.dialname, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); // OK button Button ok = (Button) findViewById(R.id.button1); // setzte OnClick-Listener ok.setOnClickListener(mOnClickListener); // cancel button Button cancel = (Button) findViewById(R.id.button2); cancel.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { Log.v(TAG, "Konfiguration abgebrochen."); finish(); } }); } View.OnClickListener mOnClickListener = new View.OnClickListener() { public void onClick(View v) { // hole Spinner-Value String value = spinner.getSelectedItem().toString(); // Speichere Auswahl SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, 0); SharedPreferences.Editor edit = prefs.edit(); edit.putString(PREF_PREFIX_KEY + appWidgetId, value); edit.commit(); Log.v(TAG, "Design gespeichert: " + value); // Update fuer Widget Context context = ClockWidgetConfig.this; AppWidgetManager appWidgetManager = AppWidgetManager .getInstance(context); if (value.equals("Design 1")) { RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); appWidgetManager.updateAppWidget(appWidgetId, views); } else if (value.equals("Design 2")) { RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget2); appWidgetManager.updateAppWidget(appWidgetId, views); } // setze ResultValue Intent resultValue = new Intent(); resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); setResult(RESULT_OK, resultValue); finish(); } }; // Read the layout from the SharedPreferences object for this widget. // If there is no preference saved, get the default from a resource static String loadDesignPref(Context context, int appWidgetId) { SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, 0); String layout = prefs.getString(PREF_PREFIX_KEY + appWidgetId, null); if (layout != null) { return layout; } else { return context.getString(R.string.dial1); } } static void loadAllDesignPrefs(Context context, ArrayList<Integer> appWidgetIds, ArrayList<String> texts) { Log.v(TAG,"LayoutPrefs laden..."); } }
-
ok, danke... werde ich mir mal anschauen...
eigentlich hätte ich dir auch ne pn senden können.... du bist so ziemlich der einzigst aktive im forum =)
-
Hi Community,
für mein Widget möchte ich im Einstellungmenü eine Liste aller installierten Apps.
Dies soll dazu dienen das sich das ausgewählte app beim klicken auf das Widget öffnet.
kann mir jemand gute ansätze / verweise geben ?
-
ost leider keine imageview, sondern eine android:dial"xx" von <AnalogClock>
JavamyHashMap = new HashMap<String, Integer>(); myHashMap.put("widgetimg1", R.drawable.widgetimg1); myHashMap.put("widgetimg2", R.drawable.widgetimg2); int pos = spinner.getSelectedItemPosition(); String selectedItem = getResources().getStringArray(R.array.widgetimg)[pos]; int drawableId = myHashMap.get(selectedItem); .setImageDrawable(getResources().getDrawable(drawableId));
ist dieser ansatz schonmal richtig ?
-
Hi Community
In einem widget sollte eine png durch die config änderbar sein...
habe in den config_layout.xml
Java<Spinner android:id="@+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" />
in der widget_layout.xml
Java<ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/widgetimg" />
und meine configactivity
Java// Lade Config-UI setContentView(R.layout.config); spinner = (Spinner) findViewById(R.id.spinner1); // fülle Spinner ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.widgetimg, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);
wie realisiere ich es nun, das wenn ich in der spinner etwas anderes wähle, das sich dementsprechend die @drawable/widgetimg des widget_layout's ändert... ?
-
Hi Community...
wie in einem anderen thread schonmal erwähnt, habe ich ein Analoges Uhr Widget...
Das Widget/ Die Uhr funktioniert einwandfrei...
mein ziel ist es, das beim anlegen des widgets ein einstellungsmenü geöffnet wird, worin ich einstellungen vornehmen kann wie z.B. das Ziffernblatt zu ändern (.png datei) !
ich habe sehr viel gelesen, und auch ziemlich viel probiert... ich war soweit das sich das einstellungmenü geöffnet hat, jedoch ich beim verlassen des einstellungsmenüs auch keine uhr zu sehen war...
gemacht habe ich dies ohne eine layout datei... sondern über eine xml/beispiel.xml ! ich habe eine neue klasse erstellt, welches die xml aufruft.
damit die neue klasse beim anlegen aufgerufen wird habe ich in die xml/widget.xml android:configure="package...config"registriert habe ich die klasse in der manifest mit dem intent APPWIDGET_CONFIGURE
also eigentlich so ziemlich nach anleitung von google... siehe hier : http://developer.android.com/g…ts/index.html#Configuring
ich glaube mein problem ist dies :
The onUpdate() method will not be called when the App Widget is created (the system will not send the ACTION_APPWIDGET_UPDATE broadcast when a configuration Activity is launched). It is the responsibility of the configuration Activity to request an update from the AppWidgetManager when the App Widget is first created. However, onUpdate() will be called for subsequent updates—it is only skipped the first time.
oder ?? wie gehe ich nun weiter.... ich bin leider am ende meines wissens =)
-
für das Widget nutze ich einen Receiver. (Das widget ist eine analoge uhr)...
die Widget.java...
Java
Alles anzeigenpublic class Widget extends AppWidgetProvider public void onReceive(Context context, Intent intent) { if(VERSION.SDK.equals("7")){ RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); Intent AlarmClockIntent = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER).setComponent(new ComponentName("com.android.alarmclock", "com.android.alarmclock.AlarmClock")); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, AlarmClockIntent, 0); views.setOnClickPendingIntent(R.id.Widget, pendingIntent); AppWidgetManager.getInstance(context).updateAppWidget(intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS), views); } ... ... ... .. .
-
hmm...
nun dachte ich mir ich probiere es nun mal zwischendurch auf dem handy... jetzt tritt ein anderes problem auf...
zuvor funktionierte das widget an sich prima... nun seit dem die configuration funktioniert wird das widget nicht mehr hinzugefügt... es öffnet sich die configuration, wenn ich diese schließe ich auch kein widget zu sehen...
muss ich da soetwas wie ein OK button einbauen ? denn im moment komme ich mit der zurück-taste aus dem configurations screen raus...
-
Dankeschön Uwe...
bin dank dir nun meinem ziel schon etwas näher...
funktioniert nun soweit alles ganz gut. kann nun endlich weiter daran arbeiten...
gruß Alpha