【问题标题】:how to set full screen layout for all activities如何为所有活动设置全屏布局
【发布时间】:2012-04-24 08:51:22
【问题描述】:

我想让它变成全屏,并适用于所有智能手机,这个代码部分创建了一个可水平和垂直滚动的表格布局,我还想查看以布局为中心的 edittext 矩阵。谢谢

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
    WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.seconda);

    HorizontalScrollView HSC = new HorizontalScrollView(this);
    ScrollView VSC = new ScrollView(this);
    VSC.setBackgroundResource(R.drawable.lavagna_psd);

    tableLayout = new TableLayout(this);
    tableLayout.setGravity(Gravity.CENTER); 

    values = new EditText[3][3];

    for (int i = 0; i < 3; i++) {

      tableRow = new TableRow(this); 
      tableRow.setGravity(Gravity.CENTER);

      for (int j = 0; j < 3  ; j++) {
        values[i][j] = new EditText(this);
        values[i][j].setHint("r: " + (i) + " " + "c: " + (j));
        values[i][j].setPadding(10, 10, 10, 10);
        tableRow.addView(values[i][j]);
      }

      tableLayout.addView(tableRow);
    }

    VSC.addView(tableLayout);
    HSC.addView(VSC);
    setContentView(HSC);

}

【问题讨论】:

  • 为清单中的活动设置 android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen",请检查它是否有效?
  • 我编辑了我的问题以便更好地解释我的问题。但是,这部分代码引用了我的应用程序的第二个活动,并且在这个活动中有一个图像作为背景
  • 你能帮我解决这个问题吗?

标签: android android-layout android-intent android-widget


【解决方案1】:

您可以在 xml 配置或 Java 代码中使您的应用程序全屏显示。您可以在下面找到这两种情况下的操作方法。

在 res/values 目录下的 styles.xml 中创建您自己的自定义样式。您可以使用不同的布尔值打开/关闭其任何选项,如下所示:

<style name="Theme.CustomizedFullScreen" parent="android:Theme">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowNoTitle">true</item>
</style>

然后在清单文件中,您只需为您的应用程序提及此样式,如下所示:

android:theme="@style/Theme.CustomizedFullScreen"

您也可以在 Activity 的 Java 文件中在 onCreate() 方法之后执行相同操作,如下所示:

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
        WindowManager.LayoutParams.FLAG_FULLSCREEN); 

希望这会对你有所帮助。

【讨论】:

  • 我尝试在 onCreate() 方法之后添加 Activity 的 Java 文件,如下所示: requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);但不工作
  • 好的,让我们一步一步解决您的问题。在您发布的源代码中,删除以下行之后的所有代码行:setContentView(R.layout.seconda);并运行应用程序。检查此布局是否全屏可见?
  • 背景图是全屏的,但是不正确,edittex的表格位于左上角。当键盘也打开时,将屏幕与背景中的图像分开。当我旋转设备时,它会完全破坏布局
【解决方案2】:

只需将应用程序的主题设置为全屏即可。将以下内容添加到 AndroidManifest.xml 中的应用程序标签

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

【讨论】:

    【解决方案3】:

    使用这段代码,它也会隐藏通知栏,你可以查看全屏你将这段代码放在 super.onCreate() 和 SetContentView() 之间

    super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
                getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                        WindowManager.LayoutParams.FLAG_FULLSCREEN);
                setContentView(R.layout.splash_image_layout);
    
    1. 拳头线用于去除应用名称栏,
    2. 第二行也用于移除通知栏。

    【讨论】:

    • 很抱歉,我仍然不熟悉 Android 中的编程,在我发布的代码中,我把这些行放在了哪里?谢谢
    • 我编辑了我的问题,添加了您的代码行但不起作用。为什么?
    • 为了您的信息,您必须为所有想要全屏显示的活动添加此行。
    • 是我做的,但是我在logcat中没有错误或警告,但是布局不是全屏并且edittext的矩阵没有居中。
    • 您的意思是,您的编辑文本没有正确对齐。我说的对吗?
    猜你喜欢
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    相关资源
    最近更新 更多