¿Por qué la Layout_Width y _Height no cubren todo el área de la pantalla de Samsung Tablet?
-
14-11-2019 - |
Pregunta
Hola a todos,
He escrito algo así en el archivo 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>
y en el archivo 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");
}
}
Solo para demostrar que he publicado este código.Todos ustedes pueden ver que he mencionado la vista de texto 5 en la que se escribe el texto "TextView - 5" que no está visible en la pantalla porque no he tomado tablelayout en Vista desplazable.
Todo lo que quiero preguntar por qué el diseño de la tabla está cubriendo algún área de la pantalla, aunque lo he definido Fill_Parent.
Por favor, sugiera algo.
Solución
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="false" />
Agregar esto a su archivo manifiesto.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow