Perché layout_width di TableLayout's Layout_width e _Height non copre l'intera area dello schermo del tablet Samsung?

StackOverflow https://stackoverflow.com/questions/6016677

Domanda

Inserire l'immagine Descrizione qui

ciao a tutti,

Ho scritto qualcosa di simile nel file XML

<?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="fill_parent">
    <TableLayout 
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:id="@+id/tl_splash_screen" >
        </TableLayout>
</LinearLayout>
.

e in java file

TableLayout tl_splash_screen;
    int int_scr_wd;
    TableRow  tr_test;
    TextView txt_test;
    TableRow  tr_test1;
    TextView txt_test1;
    TableRow  tr_test2;
    TextView txt_test2;
    TableRow  tr_test3;
    TextView txt_test3;
    TableRow  tr_test4;
    TextView txt_test4;
    TableRow  tr_test5;
    TextView txt_test5;
    int int_tb_bk_col;
    int int_black;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.x_splash_screen);
        try
        {
            txt_test=new TextView(this);
            txt_test1=new TextView(this);
            txt_test2=new TextView(this);
            txt_test3=new TextView(this);
            txt_test4=new TextView(this);
            txt_test5=new TextView(this);

            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(int_scr_wd+300, LayoutParams.FILL_PARENT);

            tr_test = (TableRow) new TableRow(this);
            tr_test1 = (TableRow) new TableRow(this);
            tr_test2 = (TableRow) new TableRow(this);
            tr_test3 = (TableRow) new TableRow(this);
            tr_test4 = (TableRow) new TableRow(this);
            tr_test5 = (TableRow) new TableRow(this);

            tl_splash_screen = (TableLayout)findViewById(R.id.tl_splash_screen);

            int_tb_bk_col = Color.rgb(211,211,211);
            int_black = Color.rgb(0,0,0);

            tl_splash_screen.setBackgroundColor(int_tb_bk_col);

            txt_test.setTextColor(int_black);
            txt_test1.setTextColor(int_black);
            txt_test2.setTextColor(int_black);
            txt_test3.setTextColor(int_black);
            txt_test4.setTextColor(int_black);
            txt_test5.setTextColor(int_black);

            Display display = getWindowManager().getDefaultDisplay();
            int_scr_wd= display.getWidth();
            int as = display.getHeight();
            Log.i("", String.valueOf(int_scr_wd));
            Log.i("", String.valueOf(as));

            txt_test1.setHeight(120);
            txt_test2.setHeight(120);
            txt_test3.setHeight(120);
            txt_test4.setHeight(120);
            txt_test5.setHeight(120);

            txt_test.setText("TextViews");
            txt_test1.setText("- TextView 1");
            txt_test2.setText("- TextView 2");
            txt_test3.setText("- TextView 3");
            txt_test4.setText("- TextView 4");
            txt_test5.setText("- TextView 5");

            tr_test.addView(txt_test);          
            tr_test1.addView(txt_test1);            
            tr_test2.addView(txt_test2);            
            tr_test3.addView(txt_test3);            
            tr_test4.addView(txt_test4);            
            tr_test5.addView(txt_test5);            

            tl_splash_screen.addView(tr_test,new TableLayout.LayoutParams(layoutParams));
            tl_splash_screen.addView(tr_test1,new TableLayout.LayoutParams(layoutParams));
            tl_splash_screen.addView(tr_test2,new TableLayout.LayoutParams(layoutParams));
            tl_splash_screen.addView(tr_test3,new TableLayout.LayoutParams(layoutParams));
            tl_splash_screen.addView(tr_test4,new TableLayout.LayoutParams(layoutParams));
            tl_splash_screen.addView(tr_test5,new TableLayout.LayoutParams(layoutParams));
        }
        catch(Exception ex)
        {
            Log.i("caught error","caught while loading main page");
        }
    }
.

Solo per dimostrare che ho pubblicato questo codice.Puoi vedere che ho menzionato TextView 5 in cui è scritto il testo "TextView - 5" che non è visibile sullo schermo perché non ho preso tabellayout in vista scorrevole.

Tutto quello che voglio chiedere perché il layout della tabella copre qualche area dello schermo anche se l'ho definito riempimento_parente.

Si prega di suggerire qualcosa.

È stato utile?

Soluzione

<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="false" />

Aggiungi questo al tuo file manifest.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top