android layout android-activity

¿Cómo configurar dinámicamente la barra de título personalizada TextView Value en Android?



layout android-activity (5)

¿Has probado el método setTitle() de tu Activity ?

amigos,

He creado una barra de título personalizada usando el siguiente archivo titlebar.xml con código

<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/myTitle" android:text="This is my new title" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textColor="@color/titletextcolor" android:layout_marginLeft="25px" android:paddingTop="3px" />

y el código java para mostrar la barra de título personalizada en cada actividad.

@Override public void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.mytitle); super.onCreate(savedInstanceState); setContentView(R.layout.main); }

Ahora quiero establecer dinámicamente el valor de vista de texto en cada actividad. ¿Puede alguien guiarme? ¿Cómo puedo lograr esto?

utilizando findviewbyid aquí, no obtengo la referencia de esa vista de texto para establecer el valor porque el diseño principal no contiene ningún cuadro de texto con ese nombre sino mytitle.

Cualquier ayuda será bien recibida.


Esta es la manera de establecer el título personalizado:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); if ( customTitleSupported ) { getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.mytitle); } final TextView myTitleText = (TextView) findViewById(R.id.myTitle); if ( myTitleText != null ) { myTitleText.setText("========= NEW TITLE =========="); myTitleText.setBackgroundColor(Color.GREEN); } }


Intente lo siguiente:

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.mytitle); TextView mytitletext = (TextView) findViewById(R.id.myTitle); mytitletext.setText("========= NEW TITLE =========="); }

Puede usar el visor de hierarchyviewer para ver si su vista es accesible (verá su ID en el gráfico de jerarquía)


SDK 2.1+

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setTitle("========= NEW TITLE =========="); }


mi_título.xml

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:id="@+id/header" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent" android:background="#d4e9a9"> <ImageView android:src="@drawable/jetpack" android:layout_width="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:id="@+id/back" android:layout_height="wrap_content" android:layout_alignParentTop="true" /> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:gravity="center_vertical" android:textSize="20px" android:textColor="#ffffff" android:layout_alignParentRight="true" android:text="New Title" android:background="#a5c639" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:padding="9dip" android:layout_margin="5dip" /> </RelativeLayout>

Código:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.my_title); ((TextView)findViewById(R.id.title)).setText("gradient shadow"); findViewById(R.id.back).setOnClickListener(new OnClickListener() { public void onClick(View v) { ((TextView)findViewById(R.id.title)).setText("loce"); } });

Debido a que el título personalizado está predeterminado, debes escribirte un tema:

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/MyTheme">