如何使用android studio在单个类文件中显示两个布局

时间:2015-04-22 06:07:13

标签: android

我有一个mainactivity和一个按钮,所以一旦我点击它,我 应该在一个活动中显示两个布局。

我的主要档案:

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void settings(View view){
    Intent intent = new Intent(getApplicationContext(),
                                     Settings_activity.class);
    startActivity(intent);
}

Settings_activity类文件,我必须访问配置文件和
通知布局:

public class Settings_activity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    "I need help here to write the required code"
}

活动主文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="10dp" >
        <Button
            android:id="@+id/settings"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="settings"
            android:text="Settings"/>


    </LinearLayout>

    </LinearLayout> 

个人资料布局:

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Family"
    android:background="@color/highlighted_text_material_dark"
    android:id="@+id/btnfamily"
    android:layout_gravity="center_horizontal"/>

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Friends"
    android:background="#FFFFFF"
    android:id="@+id/btnfriends"
    android:layout_gravity="center_horizontal" />

<Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Health"
    android:id="@+id/btnhealth"
    android:layout_gravity="center_horizontal" />
</LinearLayout>

通知布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#454545">
<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hii..."
    android:textSize="30dp"
    android:layout_marginTop="50dp"
    android:layout_marginLeft="30dp"
    android:textColor="#FFFFFF"/>
<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="My first notification...."
    android:textSize="30dp"
    android:layout_marginLeft="30dp"
    android:layout_marginTop="50dp"
    android:textColor="#FFFFFF"/>
</LinearLayout>

1 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法是在单击按钮时在Fragments中加入2 Activity。您可以详细了解Fragments HERE

另一种选择是使用LayoutInflater对两个布局进行充气,然后使用parent.addView()将其添加到您的父级,但我建议您使用第一个选项。

或者第三个(最简单的)选项是包含要在主布局文件中显示的两个布局,但是使用android:visibility="gone"添加它们。然后点击按钮,您只需通过notificationsLayout.setVisibility(View.VISIBLE)显示它们。