如何设置膨胀视图全屏或fill_parent?

时间:2016-02-19 03:59:35

标签: android

这个XML从我的主要活动中膨胀,我想知道如何将膨胀的视图设置为全屏或fill_parent,如XML所示,因为当我测试我的应用程序时它会给我一个半尺寸的屏幕显示在右侧。

enter image description here

第一张照片来自我的电脑,第二张照片来自我的标签。

这是我的XML代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_horizontal|center_vertical"
    android:background="@drawable/splash"
    android:paddingBottom="@dimen/_16sdp"
    android:paddingLeft="@dimen/_16sdp"
    android:paddingRight="@dimen/_16sdp"
    android:paddingTop="@dimen/_16sdp" >

    <Button
        android:id="@+id/g1btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/g1tv2"
        android:layout_centerHorizontal="true"
        android:text="BUTTON"
        android:textSize="@dimen/_70sdp" />

    <TextView
        android:id="@+id/g1tv2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="&quot;THIS&quot;"
        android:textSize="@dimen/_70sdp" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/g1tv2"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="66dp"
        android:text="TAP"
        android:textSize="@dimen/_70sdp" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:text="GAME 1"
        android:textSize="@dimen/_50sdp" />

</RelativeLayout>

这是我的MainActivity.Java

public class MainActivity extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                                        WindowManager.LayoutParams.FLAG_FULLSCREEN);   
        setContentView(R.layout.activity_main); 

        View game1 = getLayoutInflater().inflate(R.layout.game1, null);
        RelativeLayout item = (RelativeLayout)findViewById(R.id.Main);
        item.addView(game1);
}

3 个答案:

答案 0 :(得分:2)

问题不在于您的环绕布局,您是将视图添加到另一个视图而没有相对于父级的布局参数。

告诉你夸张的观点,这是你的父母布局参数,例如:

View view = getLayoutInflater().inflate(R.layout.game1, null);
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id. Main);
view.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
relativeLayout.addView(view);

这应该可以解决您的问题,而无需将LinearLayout包装起来。

祝你好运,编码愉快!

答案 1 :(得分:0)

setContentView();

之前添加此代码
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

答案 2 :(得分:0)

使用线性布局作为父视图,并给予android:orientation =&#34; vertical&#34;。相对布局是一种布局,其中子项的位置相对于彼此或父项描述。如果要使用相对布局,则必须使用addrule属性,否则将覆盖前一个子项的所有子项

   View game1 = getLayoutInflater().inflate(R.layout.temp, null);
    LinearLayout item = (LinearLayout)findViewById(R.id.main);
    item.addView(game1);