none
no se si la palabra es correcta pero se podria RRS feed

  • Pregunta

  • Buenas no se si la palabra es correcta, programar desde archivo xml como en este ejemplo

    by using res/drawable/custom_progress_drawable.xml

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <!-- Background -->
        <item
            android:id="@android:id/background"
            android:drawable="@drawable/custom_progress_bar_off"/>
    
        <!-- Secondary progress - this is optional -->
        <item android:id="@android:id/secondaryProgress">
            <clip android:drawable="@drawable/custom_progress_bar_secondary" />
        </item>
    
        <!-- Progress -->
        <item android:id="@android:id/progress">
            <clip android:drawable="@drawable/custom_progress_bar_on" />
        </item>
    
    </layer-list>

    From an Activity, use

    Drawable progressDrawable = ResourcesCompat.getDrawable(getResources(), R.drawable.custom_progress_drawable, getTheme());
    myProgressBar.setProgressDrawable(progressDrawable);

    https://stackoverflow.com/questions/16413633/seekbar-or-progress-bar-with-multiple-colors

    lunes, 7 de agosto de 2017 8:01

Respuestas

  • Aunque has puesto la pregunta en el foro de Windows Forms, hay otra tecnología muy similar que también sirve para hacer aplicaciones de escritorio y que se llama WPF (y tiene su propio foro en MSDN, separado del de Windows Forms). Cuando usas WPF, la definición de toda la interfaz y sus comportamientos y vínculos de datos se hace desde un fichero que termina en .xaml, y que en realidad por dentro es XML. Me imagino que algo así es lo que estabas buscando.
    • Marcado como respuesta JETET martes, 8 de agosto de 2017 7:52
    lunes, 7 de agosto de 2017 8:43
  • Sí, se podría hacer, y además sería relativamente sencillo si tienes buen dominio de XML y de System.Reflection.

    Si te fijas en el InitializeComponent de un Form, verás que lo que hace es ir creando instancias de cada uno de los controles, asignarles propiedades, y agregarlos a la colección Controls de su contenedor. Si defines un fichero XML en el que loe Elementos sean los nombres de cada clase de Control, y los Atributos tengan los mismos nombres que las propiedades, puedes iterar sobre el XML y por cada elemento instanciar la clase del mismo nombre (usando Reflexion), por cada atributo asignar el valor del atributo a la propiedad de la clase instanciada, y por cada elemento anidado dentro de otro elemento, asignar la instancia que has creado a la colección Controls del contenedor.

    De hecho, más o menos eso es lo que hace internamente WPF. Es perfectamente factible reproducirlo en Windows Forms. Si tienes buen dominio de programación orientada a objetos, manejo de XML en .NET, System.Reflection, y la forma en que opera Winforms para crear controles dinámicamente, entonces todo esto se puede programar con solo unas pocas horas de trabajo.

    • Marcado como respuesta JETET miércoles, 9 de agosto de 2017 16:03
    martes, 8 de agosto de 2017 8:44

Todas las respuestas

  • Aunque has puesto la pregunta en el foro de Windows Forms, hay otra tecnología muy similar que también sirve para hacer aplicaciones de escritorio y que se llama WPF (y tiene su propio foro en MSDN, separado del de Windows Forms). Cuando usas WPF, la definición de toda la interfaz y sus comportamientos y vínculos de datos se hace desde un fichero que termina en .xaml, y que en realidad por dentro es XML. Me imagino que algo así es lo que estabas buscando.
    • Marcado como respuesta JETET martes, 8 de agosto de 2017 7:52
    lunes, 7 de agosto de 2017 8:43
  • Gracias po respoder

    seguro que es eso lo que busco, pero se podria hacer algo parecido en windows forms 

    lunes, 7 de agosto de 2017 8:58
  • Sí, se podría hacer, y además sería relativamente sencillo si tienes buen dominio de XML y de System.Reflection.

    Si te fijas en el InitializeComponent de un Form, verás que lo que hace es ir creando instancias de cada uno de los controles, asignarles propiedades, y agregarlos a la colección Controls de su contenedor. Si defines un fichero XML en el que loe Elementos sean los nombres de cada clase de Control, y los Atributos tengan los mismos nombres que las propiedades, puedes iterar sobre el XML y por cada elemento instanciar la clase del mismo nombre (usando Reflexion), por cada atributo asignar el valor del atributo a la propiedad de la clase instanciada, y por cada elemento anidado dentro de otro elemento, asignar la instancia que has creado a la colección Controls del contenedor.

    De hecho, más o menos eso es lo que hace internamente WPF. Es perfectamente factible reproducirlo en Windows Forms. Si tienes buen dominio de programación orientada a objetos, manejo de XML en .NET, System.Reflection, y la forma en que opera Winforms para crear controles dinámicamente, entonces todo esto se puede programar con solo unas pocas horas de trabajo.

    • Marcado como respuesta JETET miércoles, 9 de agosto de 2017 16:03
    martes, 8 de agosto de 2017 8:44