Botones en una vista personalizada cuando la vista personalizada se encuentra en una pestaña
LA PREGUNTA
¿Es posible ejecutar una pestaña de un archivo de actividad o Java diferente de los otros tres, lo que me permite conectar la segunda actividad al servidor que se ejecuta fuera de la primera.
- XML Lista de permisos de Android completa
- Android: Caja blanca no deseada en la parte superior de la pantalla (barra de herramientas?)
- No se encontró ningún recurso en el archivo XML de diseño android
- Problema al analizar cadena xml en java
- Android: Ancho y altura del icono del iniciador en DP
Alguna información sobre mi aplicación
Lo que tengo es una aplicación con varias pestañas, con algunos diseños diferentes. Uno de ellos es un diseño gráfico interactivo. En esta pestaña la mayor parte de ella necesita ser una vista personalizada que he configurado para trabajar ya, pero necesito una fila de widgets en la parte inferior como botones, deslizadores, etc Ahora estoy en el punto donde si ejecuto el diseño gráfico de Configurándolo como la actividad principal ( android:name=".Tab3Activity"
) en el manifiesto la aplicación se ejecutará e imprimirá el texto cuando haga clic en el botón cómo nunca si lo ejecuto desde la pestaña como lo necesito para ejecutar la aplicación Se bloqueará cuando haga clic en el botón. Aquí está el código que tengo actualmente
Configuración de la pestaña
th.setup(); TabSpec specs = th.newTabSpec("tag0"); specs.setContent(R.id.connecttionTab); specs.setIndicator("Connection Tab"); th.addTab(specs); specs = th.newTabSpec("tag1"); specs.setContent(R.id.tab1); specs.setIndicator("Zone Manager"); th.addTab(specs); specs = th.newTabSpec("tag2"); specs.setContent(R.id.tab2); specs.setIndicator("",res.getDrawable(R.drawable.ic_tab_vaccontrol)); th.addTab(specs); //Intent intent = new Intent().setClass(this, Tab3Activity.class); tryed using this but //with this tab goes ontop of all the other ones and still doesnt work. TabSpec spec = th.newTabSpec("Tab3").setIndicator("Graphical Layout").setContent(R.id.tab3); th.addTab(spec);
Tab3Activity
public class Tab3Activity extends Activity { private Tab3 mTab3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tab3); mTab3 = (Tab3) findViewById(R.id.tab3_display); } public void onAddZone(View view) { mTab3.addZone(); } }
Tab3 (clase de vista)
public class Tab3 extends View implements OnTouchListener { public Tab3(Context context, AttributeSet attrs) { super (context, attrs); setFocusable(true); setFocusableInTouchMode(true); setOnTouchListener(this); requestFocus(); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //drawings invalidate(); } @Override public boolean onTouch(View v, MotionEvent event) { //onTouch return true; } public void addZone() { //String w = "W~20~0~0~0~0~0"; Log.d("ZoneSize", "Zone set"); //MyApplication.preferences.edit().putString( "ZoneSize", w ).commit(); //MyApplication.preferences.edit().putBoolean("ZoneSizeReady", true).commit(); } }
XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:id="@+id/myLayout" android:orientation="vertical" android:layout_height="match_parent" > <com.zone.manager.Tab3 android:id="@+id/tab3_display" android:layout_width="fill_parent" android:layout_height="620dp" /> <LinearLayout android:layout_width="match_parent" android:orientation="horizontal" android:layout_height="match_parent" > <Button android:id="@+id/addZone" android:layout_width="wrap_content" android:onClick="onAddZone" android:layout_height="wrap_content" android:text="Add Zone" /> <Button android:id="@+id/helpZone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Help" /> <SeekBar android:id="@+id/seekBar1" android:paddingTop="9dp" android:layout_width="179dp" android:layout_height="wrap_content" /> </LinearLayout> </LinearLayout>
Gracias por cualquier ayuda que pueda darme!
- Android XML: Centrando una vista en el diseño relativo- android: layout_centerHorizontal = "true" no funciona?
- Color de sombra en los botones dependiendo del estado en XML - Android
- Cómo hacer la disposición con las esquinas redondeadas ..?
- Vincular la vista personalizada de Android a una xml de diseño específico (¿es posible?)
- org.xml.sax.SAXParseException: Token inesperado al analizar XML
- Cómo mostrar íconos de elemento en la barra de herramientas Android
- Fondo Android + texto + icono para un botón
- Android: state_enabled falta / no funciona?
Mientras esperamos que publique su registro de bloqueo, sugiero que no utilice el método de tabulación antigua (a menos que, por supuesto, se vea obligado por su cliente que quiere exactamente esas pestañas). Los patrones ui de Android han evolucionado mucho desde esa cosa del widget de pestañas.
La forma contemporánea de implementar pestañas es utilizar ActionBar y Fragments API , que han existido desde Honeycomb pero están disponibles para versiones anteriores de android como una biblioteca de soporte que puede descargar con su gestor sdk de android. El enfoque basado en fragmentos le ahorrará mucho dolor de cabeza.
En cuanto a su pregunta principal, no está muy claro lo que está tratando de lograr con el lanzamiento de algo de diferentes actividades, pero si necesita una tarea de larga ejecución para ser lanzado desde una actividad y devolver el resultado a otro, puede que desee leer (En particular, IntentService es lo más probable de lo que está buscando)
- Android: Iconos estándar android.R.drawable con otro color
- La forma más rápida y rápida de obtener nuevos mensajes sms al iniciar la aplicación – Android