Añadir View a activity
En esta ocasión añadiremos una vista en la que hemos guardado un recurso.xml y la insertaremos mediante código java en nuestra activity al pulsar sobre un botón, posteriormente haremos que con sólo tocar la pantalla, desaparezca.
Como la idea es una pizarra donde puedan escribir ofertas, vamos a bajarnos esta fuente que se parece a la escritura con una tiza, y en nuestro proyecto, añadimos la carpeta sino la tenemos : assets/fonts.
Ahora nuestra fuente la insertamos en esa carpeta y añadimos esta imágen al proyecto, descargàndola y añadiendola a la carpeta res/drawable.
Bien, ahora esa imágen la vamos a usar creando un nuevo recurso.xml que quedaría de esta manera :
PIZARRA.XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:background="@drawable/pizarra"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="35dp"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Oferta"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@android:color/white"
android:textSize="30sp" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
Como veis, vamos ajustando los layouts con márgenes para una mejor apariencia,y ya hemos echo uso de nuestro recurso con la imagen poniéndolo como background de un layout, vamos a ver como queda el main :
MAIN
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); //aqui se pone antes porque sino da error setContentView(R.layout.activity_main); context=this; instanciarElementos(); altas(); listado=listaTotal(); layout = (ViewGroup) findViewById(R.id.layoutPrncipalMain); sansation = Typeface.createFromAsset(getAssets(),"fonts/Sansation_Bold.ttf"); bPruebas=(Button) findViewById(R.id.bofertaPrueba); bPruebas.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { seEstaMostrando=1; addOferta(); } }); } private void addOferta() { LayoutInflater inflater = LayoutInflater.from(this); //RECOJEMOS ID DEL CONTENEDOR int id = R.layout.pizarra; //FUENTE Y TEXTO TextView Oferta; Typeface TIZA; TIZA = Typeface.createFromAsset(getAssets(),"fonts/Rudiment.ttf"); RelativeLayout relativeLayout = (RelativeLayout) inflater.inflate(id, null, false); //AÑADIMOS VISTA layout.addView(relativeLayout); Oferta=(TextView) findViewById(R.id.offfert); Oferta.setText("THEBESTANDROIDE.BLOGSPOT.COM, THEBESTANDROIDE.BLOGSPOT.COM, THEBESTANDROIDE.BLOGSPOT.COM, THEBESTANDROIDE.BLOGSPOT.COM, THEBESTANDROIDE.BLOGSPOT.COM"); Oferta.setTypeface(TIZA); }
Ahora al pulsar el botón, esta vista aparecerá y ya de ahí no se moverá :
Bien ahora le vamos a añadir el gesto para que al tocar la pantalla se quite, consiguiendo un efecto de ventana de quita y pon.
ahora hacemos que la clase herede de
implements OnGesturePerformedListener
Para poder insertar estos métodos, que uno nos le imponen y otro le necesitamos, y ya está completado, sólo queda jugar con la variable seEstaMostrando para cuando queramos mostrarlo u ocultarlo :
@Override public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) { } @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub if (seEstaMostrando==1){ System.out.println("TOCO TOCO TOCOOOOOOO"); VistaOferta.setVisibility(View.GONE); seEstaMostrando=0; } return super.onTouchEvent(event); }
0 comentarios:
Publicar un comentario