Pourquoi TableLayout's Layout_Width et _Height ne couvre pas toute la zone de l'écran de la tablette Samsung?

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

Question

enter image description here

Salut à tous,

J'ai écrit quelque chose comme ça dans le fichier 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>

Et dans le fichier java

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");
        }
    }

Juste pour démontrer que j'ai publié ce code. Vous pouvez tous voir que j'ai mentionné TextView 5 dans lequel le texte "TextView - 5" est écrit qui n'est pas visible à l'écran car je n'ai pas pris Tablelayout sous vue Scrollable.

Tout ce que je veux demander pourquoi la disposition de la table couvre une zone de l'écran même si je l'ai défini Fill_parent.

Veuillez suggérer quelque chose.

Était-ce utile?

La solution

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

Ajoutez ceci à votre fichier manifeste.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top