لماذا لا يغطي عرض و ارتفاع تخطيط الجدول كامل مساحة شاشة جهاز سامسونج اللوحي؟

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

سؤال

enter image description here

مرحبا للجميع،

لقد كتبت شيئا من هذا القبيل في ملف 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>

وفي ملف جافا

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

فقط لإثبات أنني قمت بنشر هذا الرمز.يمكنك أن ترى جميعًا أنني ذكرت textview 5 حيث يتم كتابة نص "textview - 5" وهو غير مرئي على الشاشة لأنني لم أتخذ tablelayout ضمن العرض القابل للتمرير.

كل ما أريد أن أسأله هو سبب تغطية تخطيط الجدول لبعض مناطق الشاشة على الرغم من أنني قمت بتعريفه fill_parent.

من فضلك أقترح شيئا.

هل كانت مفيدة؟

المحلول

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

أضف هذا إلى ملف البيان الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top