1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Icon- Pack- App erstellen?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von rotblau1893, 20.07.2012.

  1. rotblau1893, 20.07.2012 #1
    rotblau1893

    rotblau1893 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    77
    Erhaltene Danke:
    1
    Registriert seit:
    07.02.2012
    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?
     
  2. m1s73r, 22.07.2012 #2
    m1s73r

    m1s73r Junior Mitglied

    Beiträge:
    42
    Erhaltene Danke:
    5
    Registriert seit:
    18.02.2012
    Puhh hast dir aber ziemlich viel vorgenommen^^

    Um Programmieren kommst du nicht rum...

    [​IMG]

    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!
     
  3. myeta, 22.07.2012 #3
    myeta

    myeta Fortgeschrittenes Mitglied

    Beiträge:
    306
    Erhaltene Danke:
    49
    Registriert seit:
    20.06.2011
    Das denke ich auch ;)
    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:
     
  4. rotblau1893, 22.07.2012 #4
    rotblau1893

    rotblau1893 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    77
    Erhaltene Danke:
    1
    Registriert seit:
    07.02.2012
    Herzlichen Dank!! Ich werde mir das jetzt mal genau anschauen und ausprobieren.:smile:
     
  5. myeta, 22.07.2012 #5
    myeta

    myeta Fortgeschrittenes Mitglied

    Beiträge:
    306
    Erhaltene Danke:
    49
    Registriert seit:
    20.06.2011
    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
     
  6. rotblau1893, 22.07.2012 #6
    rotblau1893

    rotblau1893 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    77
    Erhaltene Danke:
    1
    Registriert seit:
    07.02.2012
    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.
     
  7. rotblau1893, 26.07.2012 #7
    rotblau1893

    rotblau1893 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    77
    Erhaltene Danke:
    1
    Registriert seit:
    07.02.2012
    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?
     
  8. swordi, 26.07.2012 #8
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    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
     
  9. rotblau1893, 26.07.2012 #9
    rotblau1893

    rotblau1893 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    77
    Erhaltene Danke:
    1
    Registriert seit:
    07.02.2012
    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: 26.07.2012
  10. Flixius, 27.07.2012 #10
    Flixius

    Flixius Android-Hilfe.de Mitglied

    Beiträge:
    132
    Erhaltene Danke:
    4
    Registriert seit:
    24.10.2010
    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.
     
  11. m1s73r, 27.07.2012 #11
    m1s73r

    m1s73r Junior Mitglied

    Beiträge:
    42
    Erhaltene Danke:
    5
    Registriert seit:
    18.02.2012
    Er müsste aber vorher checken für welche Android Version er programmiert...
     
  12. rotblau1893, 27.07.2012 #12
    rotblau1893

    rotblau1893 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    77
    Erhaltene Danke:
    1
    Registriert seit:
    07.02.2012
    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.
     
  13. Flixius, 27.07.2012 #13
    Flixius

    Flixius Android-Hilfe.de Mitglied

    Beiträge:
    132
    Erhaltene Danke:
    4
    Registriert seit:
    24.10.2010
    ich dachte durch die eingebundene kompatiblitätslib von google ist das kein problem. es gibt doch support ab 1.6 aufwärts, oder?
     
  14. rotblau1893, 02.08.2012 #14
    rotblau1893

    rotblau1893 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    77
    Erhaltene Danke:
    1
    Registriert seit:
    07.02.2012
    Edit: Habs hinbekommen mit der ListView!:)
     
    Zuletzt bearbeitet: 04.08.2012
  15. rotblau1893, 07.08.2012 #15
    rotblau1893

    rotblau1893 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    77
    Erhaltene Danke:
    1
    Registriert seit:
    07.02.2012
    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,
        
            };
        }
        
    }
     

Diese Seite empfehlen