Icon- Pack- App erstellen?

R

rotblau1893

Ambitioniertes Mitglied
1
Hallo zusammen
Ich habe mir vorgenommen eine Icon- Pack- App für Android zu entwickeln, also eine App mit vielen verschiedenen Icons, welche man dann mit den verschiedenen Launchern benützen kann. Nun habe ich aber das Problem, dass ich zwar Icons designen kann, aber in App- Entwicklung noch sehr wenig Ahnung habe. Ich habe schon mal ein bisschen mit dem App- Inventor einige Sachen ausprobiert, aber das war auch schon alles. Die App sollte ungefähr so sein, dass man zwischen drei Kategorien wählen kann (Alle Icons, Nach App sortiert und nach Style sortiert). Dann werden alle Icons dieser Kategorie in einem Raster angezeigt und wenn man eines will, kann man dieses anklicken und auf "speichern" drücken, damit das Icon auf der SD- Karte gespeichert wird. Dann kann man mit dem Launcher das Icon auswählen. Hab schon im Internet gesucht, aber da hab ich nichts gescheites gefunden. Deshalb also meine Frage: Kann ich das irgendwie mit dem App- Inventor zusammenbasteln, oder müsste ich das selber programmieren? Falls man es programmieren müsste, gibt es irgendwo eine Anleitung, die mir bei meiner App helfen könnte?
 
Puhh hast dir aber ziemlich viel vorgenommen^^

Um Programmieren kommst du nicht rum...

android_tabs01.png


Also du könntest sowas wie das Bauen... Oben bei den Tabs ersetzt du das dann einfach mit Alle Icons, Style usw.

Das würd ich mal als erstes Programmieren -> TUT:Android Tab Layout Tutorial

Für die Icons um sie anzuzeigen wäre das von Vorteil:
List View | Android Developers

Und hier um Daten auf der SD Karte zu speichern: Android-er: Save file to SD Card

Hoffe ich konnte dir helfen!
 
m1s73r schrieb:
Um Programmieren kommst du nicht rum...
Das denke ich auch ;)
m1s73r schrieb:
android_tabs01.png


Also du könntest sowas wie das Bauen... Oben bei den Tabs ersetzt du das dann einfach mit Alle Icons, Style usw.
Generell natürlich die Beste Idee, ich würde aber von der TabView abraten.
Hat mehrere Gründe:
1. Bei einigen Handys mit anderer Benutzeroberfläche ähneln sich Tab-Hintergrund und Tab-Farbe sehr, so dass man hier oft nichts lesen kann... (Lösung hierfür wäre ein Icon in jedem Tab ;) )
2. Rein ästhetisch gesehen, sind die Tabs auch nicht so der Burner
3. Brauchen die Tabs viel Platz - man nehme ein kleines Display und man hat nur noch ärgerlich wenig Platz für den eigentlichen Inhalt :mad2:

Mein Vorschlag: ActionBar Sherlock
Diese Library gibt dir (unter Anderem) die Möglichkeit für Tabs im Stil von ICS/JB - platzsparend, gutaussehend, modern, viel mehr editierbar, ...

Ich hoffe ich konnte dir ein bisschen helfen ;)

Greets,
Max

NB:
Da du dich erst an Android rantasten musst, würde ich mir eine Art Arbeitsplan/Liste erstellen, was du so alles brauchst (Tabs, Icons anzeigen, speichern, ...)
Und dann hier je nach Schwierigkeitsgrad in kleinen Schritten mit kleinen Zielen vorangehen, dann wird das auch bestimmt was! :thumbsup:
 
Herzlichen Dank!! Ich werde mir das jetzt mal genau anschauen und ausprobieren.:smile:
 
Dieses Icon-Pack hat auch etwas Nettes (so als kleine Anregung, damit dir nicht langweilig wird :D ):

Standardmäßig sind seine Icons weiß und du kannst mit einem Color-Picker die Icons einfärben und vermutlich dann abspeichern ;)

Greets,
Max
 
myeta schrieb:
Dieses Icon-Pack hat auch etwas Nettes (so als kleine Anregung, damit dir nicht langweilig wird :D ):

Standardmäßig sind seine Icons weiß und du kannst mit einem Color-Picker die Icons einfärben und vermutlich dann abspeichern ;)

Greets,
Max

Langweilig wird mir sicher nicht;). Hab das Icon- Pack auch schon gesehen, von dort hab ich auch die Idee mit dem abspeichern auf der SD- Karte.
 
Also ich habe mich jetzt entschieden das Ganze mit Tabs zu gestalten, das mit der Library ist mir etwas zu kompliziert. Ich habe das Tab- Tutorial befolgt und das klappte auch sofort, doch nun komme ich einfach nicht mehr weiter. Ich versuche jetzt in einen einzelnen Tab eine ListView einzufügen, doch das will einfach nicht klappen. Hab schon mehrere ListView Tutorials angeschaut und wenn ich die in einem Versuchsprojekt ausprobiere klappt es auch immer, aber das Einfügen in einen einzelnen Tab geht irgendwie nicht.
Kann mir vielleicht jemand von euch helfen?
 
Was ist der Fehler? Was klappt nicht? Details wären hilfreich.

Nur nicht gleich aufgeben...

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
Also wie gesagt, die Tabs hab ich mit dem Tutorial gemacht, d.h. ich habe jetz für jeden der drei Tabs eine Activity und ein xml- File.
Die ListView habe ich dann nach diesem Tutorial gemacht: A Simple Android ListView Example
Es ging bei meinem Versuch um den Tab "Apps". Ich habe also die ListView in apps_layout.xml und nicht im main.xml erstellt. Dann habe ich noch das Wort planets jeweils durch app ersetzt und R.Layout.main durch R.Layout.apps_layout ersetzt, da ich ja dort die ListView eingesetzt habe, abgesehen von der List- ID liess ich sonst alles gleich.
Es funktionierte auch alles, also es gab keine Fehlermeldungen, aber die Liste wurde trotzdem nicht angezeigt, wenn ich das Programm startete.
Ach ja, die ListView habe ich in einer eigenen Activity erstellt, also nicht in der Haupt- Activity, war dies ein Fehler?
 
Zuletzt bearbeitet:
Hey rotblau,

ich rate ebenfalls dringend vom TabLayout ab.

In den Android samples für 4.0 gibt es schon eine fertige activity in der eine ActionBar umgesetzt ist. Dazu musst du dir einfach die samples in Eclipse laden. Das entsprechende Beispiel findest du in der Demo-App unter App/Fragment/Tab

Der Code ist in der Klasse, die irendetwas mit Tab heißt. :)

Danach nur noch Copy/Paste und du hast das Grundgerüst fertig. Das solltes du in einer halben Stunde geschafft haben.
 
Flixius schrieb:
Hey rotblau,

ich rate ebenfalls dringend vom TabLayout ab.

In den Android samples für 4.0 gibt es schon eine fertige activity in der eine ActionBar umgesetzt ist. Dazu musst du dir einfach die samples in Eclipse laden. Das entsprechende Beispiel findest du in der Demo-App unter App/Fragment/Tab

Der Code ist in der Klasse, die irendetwas mit Tab heißt. :)

Danach nur noch Copy/Paste und du hast das Grundgerüst fertig. Das solltes du in einer halben Stunde geschafft haben.

Er müsste aber vorher checken für welche Android Version er programmiert...
 
Also ich hab das jetzt doch mit der Sherlock Actionbar gemacht (nach diesem Tutorial: Forum @ tutorials.de: Tutorials, Forum & Hilfe) und es hat geklappt, sieht wirklich besser aus:)
Nun habe ich aber immer noch das Problem, dass ich anscheinend unfähig bin eine ListView in einen einzelnen Tab einzufügen.
 
m1s73r schrieb:
Er müsste aber vorher checken für welche Android Version er programmiert...
ich dachte durch die eingebundene kompatiblitätslib von google ist das kein problem. es gibt doch support ab 1.6 aufwärts, oder?
 
Edit: Habs hinbekommen mit der ListView!:)
 
Zuletzt bearbeitet:
So, hab wieder mal ne Frage;)
Ich hab jetzt also drei Tabs und in zweien davon eine ListView, nun wollte ich im ersten Tab, wo alle icons angezeigt werden ein GridView einfügen, Hat eigentlich auch funktioniert, der Code dazu schreibe ich unten mal hin.
Einziges Problem: Die GridView scheint ja erst ab Android 4 oder so zu funktionieren, es sei denn man benutzt die Support- Library, was ich natürlich gemacht habe. Ich bekomme dann aber eine Fehlermeldung in der MainActivity an der Stelle, wo der Tab mit dem GridView hinzugefügt werden sollte.
Code:
        Tab tab = actionBar.newTab()
                .setText("All")
                .setTabListener(new CustomTabListener<AllFragment>(this, "android", AllFragment.class));
Fehlermeldung: Bound mismatch: The type AllFragment is not a valid substitute for the bounded parameter <T extends Fragment> of the type CustomTabListener<T>

Angezeigt bekomme ich die GridView nur, wenn ich ohne die Support- Library arbeite und @TargetApi(11) vor den Klassennamen setze, dann funktioniert es aber natürlich nur mit ICS und JB:(
Wie bekomme ich die GridView so hin, dass sie ohne Fehlermeldung auch auf älteren Android- Versionen läuft?

Hier der Code für die GridView und sorry für die Anfängerfragen, aber ich komme da einfach nicht weiter...

Code:
import android.content.Context;
import android.graphics.Point;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class AllFragment extends Fragment {
private Point imgSize;
int mNum;

public void setImgSize(int x, int y){
imgSize.set(x, y);
}

    /**
* When creating, retrieve this instance's number from its arguments.
*/
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mNum = getArguments() != null ? getArguments().getInt("num") : 1;
    }
    
/**
* Create a new instance of DetailsFragment, initialized to
* show the text at 'index'.
*/
    public static AllFragment newInstance(int index) {
     AllFragment f = new AllFragment();

        // Supply index input as an argument.
        Bundle args = new Bundle();
        args.putInt("index", index);
        f.setArguments(args);

        return f;
    }

    /** Called when the activity is first created. */
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        if (container == null){
         return null;
        }
        
        final View grid = inflater.inflate(R.layout.all_layout, container, false);
        GridView g = (GridView) grid.findViewById(R.id.gridview);
        g.setAdapter(new ImageAdapter(getActivity()));
        
        imgSize = new Point();
        int side = getActivity().getResources().getDisplayMetrics().widthPixels / 4 ;
        setImgSize(side,side);
        return grid;
    }
    
    public class ImageAdapter extends BaseAdapter {
        public ImageAdapter(Context c) {
            mContext = c;
        }

        public int getCount() {
            return mThumbIds.length;
        }

        public Object getItem(int position) {
            return position;
        }

        public long getItemId(int position) {
            return position;
        }

        public View getView(int position, View convertView, ViewGroup parent) {
            ImageView imageView;
            if (convertView == null) {
                imageView = new ImageView(mContext);
                imageView.setLayoutParams(new GridView.LayoutParams(60,60));
                imageView.setAdjustViewBounds(true);
                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                imageView.setPadding(5,5,5,5);
            } else {
                imageView = (ImageView) convertView;
            }

            imageView.setImageResource(mThumbIds[position]);

            return imageView;
        }

        private Context mContext;
       
        private Integer[] mThumbIds = {
                R.drawable.sample_0, R.drawable.sample_1,
                R.drawable.sample_2, R.drawable.sample_3,
                R.drawable.sample_4, R.drawable.sample_5,
                R.drawable.sample_6, R.drawable.sample_7,
                R.drawable.sample_0, R.drawable.sample_1,
                R.drawable.sample_2, R.drawable.sample_3,
                R.drawable.sample_4, R.drawable.sample_5,
                R.drawable.sample_6, R.drawable.sample_7,
                R.drawable.sample_0, R.drawable.sample_1,
                R.drawable.sample_2, R.drawable.sample_3,
    
        };
    }
    
}
 

Ähnliche Themen

W
Antworten
2
Aufrufe
718
rene3006
R
5
Antworten
0
Aufrufe
1.117
586920
5
Muecke1982
Antworten
8
Aufrufe
1.009
Skyhigh
Skyhigh
Zurück
Oben Unten