texto tamaño simple letra item color change cambiar android listview fonts

android - tamaño - Cómo cambiar el color y la fuente en ListView



cambiar tamaño de letra listview android (9)

Crea un CustomAdapter y en él tienes el getView () así que si quieres cambiar el color de fondo de la vista de lista usa esto:

v.setBackgroundColor(Color.CYAN);

Si desea cambiar el textColor, haga esto:

tv.setTextColor(Color.RED);

y para el tamaño del texto:

tv.setTextSize(20);

donde ''v'' es la vista de lista y ''tv'' es la vista de texto

Estoy tratando de cambiar mi fuente (color y tamaño) y la parte trasera de mi ListView. Quiero cambiarlo con líneas de código no en xml. mi vista de lista se ve así: el xml:

<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" android:textSize="18sp" android:text="@string/hello"> </TextView>

y mi código es

public class NewsActivity extends ListActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // ArrayAdapter listItemAdapter = new ArrayAdapter( this,android.R.layout.simple_list_item_1, v_itemList ); setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item,ynetList)); View v=getListView() ; ListView lv = getListView();

¿qué sigue? por favor dame una base de ejemplo en mi código


Puede seleccionar un niño como

TextView tv = (TextView)lv.getChildAt(0); tv.setTextColor(Color.RED); tv.setTextSize(12);


Si desea establecer el fondo de la lista, coloque la imagen antes de la <Textview>

< ImageView android:background="@drawable/image_name" android:layout_width="fill_parent" android:layout_height="wrap_content"/>

y si desea cambiar el color, coloque el código de color en el cuadro de texto de arriba como este

android:textColor="#ffffff"


utilícelos en código Java como este:

color = getResources().getColor(R.color.mycolor);

El método getResources() devuelve la clase ResourceManager para la actividad actual, y getColor() le pide al administrador que busque un color dado un ID de recurso


Si solo necesita cambiar algunos parámetros de la Vista y el comportamiento predeterminado de ArrayAdapter, está bien para usted:

import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; public class CustomArrayAdapter<T> extends ArrayAdapter<T> { public CustomArrayAdapter(Context context, int textViewResourceId) { super(context, textViewResourceId); } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); // Here all your customization on the View view.setBackgroundColor(.......); ... return view; } }


Aún mejor, no es necesario crear un diseño xml de Android separado para la vista de celda de la lista. Solo puede usar "android.R.layout.simple_list_item_1" si la lista solo contiene textview.

private class ExampleAdapter extends ArrayAdapter<String>{ public ExampleAdapter(Context context, int textViewResourceId, String[] objects) { super(context, textViewResourceId, objects); } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = super.getView(position, convertView, parent); TextView tv = (TextView) view.findViewById(android.R.id.text1); tv.setTextColor(0); return view; }


Si quieres usar un color de colors.xml , experimenta:

public View getView(int position, View convertView, ViewGroup parent) { ... View rowView = inflater.inflate(this.rowLayoutID, parent, false); rowView.setBackgroundColor(rowView.getResources().getColor(R.color.my_bg_color)); TextView title = (TextView) rowView.findViewById(R.id.txtRowTitle); title.setTextColor( rowView.getResources().getColor(R.color.my_title_color)); ... }

Puedes usar también:

private static final int bgColor = 0xAAAAFFFF; public View getView(int position, View convertView, ViewGroup parent) { ... View rowView = inflater.inflate(this.rowLayoutID, parent, false); rowView.setBackgroundColor(bgColor); ... }


Necesita crear un CustomListAdapter.

public class CustomListAdapter extends ArrayAdapter <String> { private Context mContext; private int id; private List <String>items ; public CustomListAdapter(Context context, int textViewResourceId , List<String> list ) { super(context, textViewResourceId, list); mContext = context; id = textViewResourceId; items = list ; } @Override public View getView(int position, View v, ViewGroup parent) { View mView = v ; if(mView == null){ LayoutInflater vi = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); mView = vi.inflate(id, null); } TextView text = (TextView) mView.findViewById(R.id.textView); if(items.get(position) != null ) { text.setTextColor(Color.WHITE); text.setText(items.get(position)); text.setBackgroundColor(Color.RED); int color = Color.argb( 200, 255, 64, 64 ); text.setBackgroundColor( color ); } return mView; } }

El elemento de la lista se ve así (custom_list.xml):

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/textView" android:textSize="20px" android:paddingTop="10dip" android:paddingBottom="10dip"/> </LinearLayout>

Use las API de TextView para decorar su texto a su gusto

y lo usarás así

listAdapter = new CustomListAdapter(YourActivity.this , R.layout.custom_list , mList); mListView.setAdapter(listAdapter);


en Android 6.0 puedes cambiar el color del texto como a continuación

holder._linear_text_active_release_pass.setBackgroundColor(ContextCompat.getColor(context, R.color.green));