Seguendo i vostri consigli ho creato un layout xml chiamato custom_linearlayout.xml con all'interno il seguente codice:
codice:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/custom_linearLayout" >
<TextView
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="6.0"
android:id="@+id/titolo1"
android:text="tit1"
android:background="#4584d3"
/>
<TextView
android:layout_width="2dp"
android:layout_height="fill_parent"
android:id="@+id/spazio1"
/>
<TextView
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:id="@+id/titolo2"
android:text="tit2"
android:background="#4584d3"
/>
<TextView
android:layout_width="2dp"
android:layout_height="fill_parent"
android:id="@+id/spazio2"
/>
<TextView
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:id="@+id/titolo3"
android:text="tit3"
android:background="#4584d3"
/>
<TextView
android:layout_width="2dp"
android:layout_height="fill_parent"
android:id="@+id/spazio3"
/>
<TextView
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:id="@+id/titolo4"
android:text="tit4"
android:background="#4584d3"
/>
<TextView
android:layout_width="2dp"
android:layout_height="fill_parent"
android:id="@+id/spazio4"
/>
<TextView
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1.0"
android:id="@+id/titolo5"
android:text="tit5"
android:background="#4584d3"
/>
</LinearLayout>
Esso dovrebbe apparire così:
rendering.jpg
Ho creato la seguente classe per poterlo inserire nella mia applicazione:
codice:
package blablabla.myapplication;
import android.content.Context;
import android.view.LayoutInflater;
import android.widget.LinearLayout;
import android.widget.TextView;
import zipangulu.myapplication.R;
public class Riga extends LinearLayout {
TextView colonna1, colonna2 , colonna3, colonna4, colonna5;
public Riga (Context contesto) {
super (contesto);
init ();
}
private void init () {
LinearLayout ll = (LinearLayout) LayoutInflater.from (getContext()).inflate(R.layout.custom_linearlayout , null);
colonna1 = (TextView)ll.findViewById(R.id.titolo1);
colonna2 = (TextView)ll.findViewById(R.id.titolo2);
colonna3 = (TextView)ll.findViewById(R.id.titolo3);
colonna4 = (TextView)ll.findViewById(R.id.titolo4);
colonna5 = (TextView)ll.findViewById(R.id.titolo5);
addView(ll);
}
public void setVal1 (String s) {
colonna1.setText(s);
}
public void setVal2 (String s) {
colonna2.setText(s);
}
public void setVal3 (String s) {
colonna3.setText(s);
}
public void setVal4 (String s) {
colonna4.setText(s);
}
public void setVal5 (String s) {
colonna5.setText(s);
}
public void setBackgroundColor (int colore) {
colonna1.setBackgroundColor(colore);
colonna2.setBackgroundColor(colore);
colonna3.setBackgroundColor(colore);
colonna4.setBackgroundColor(colore);
colonna5.setBackgroundColor(colore);
}
public void setForegroundColor (int colore) {
colonna1.setTextColor(colore);
colonna2.setTextColor(colore);
colonna3.setTextColor(colore);
colonna4.setTextColor(colore);
colonna5.setTextColor(colore);
}
}
E nell'activity richiamo le seguenti istruzioni:
codice:
TableLayout tl = (TableLayout)findViewById(R.id.tableLayout); //è il TableLayout che si vede nell'immagine del primo post
//INSERISCO UNA RIGA CHE POI SARA' LA BARRA DEI TITOLI
Riga titoli = new Riga (this);
tl.addView(titoli);
ma ciò che mi viene visualizzato è questo:
Screenshot_2015-01-07-22-34-33.jpg
Cioè la riga non finisce alla fine del TableLayout ma si arresta a tipo metà, come se ci fosse impostato un "wrap_content"..perchè?Dove sbaglio?Come posso risolvere?