1

基本的に、私は2つのXMLファイルを持っています

  1. weeks.xml
  2. weekone.xml

weeks.xmlのコード

<?xml version="1.0" encoding="UTF-8"?>

<!--
Begin Relative Layout
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:scrollHorizontally="true"
    android:background="@drawable/appbackground">



    <TextView
    android:id="@+id/about_title"
    android:layout_width="fill_parent"
    android:layout_height="49dp"
    android:background="#00141c"
    android:fontFamily="Hobo Std"
    android:gravity="center"
    android:text="@string/start"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="#FFFFFF"
    android:textSize="25sp"
    android:textStyle="bold" />

    <ImageView 
     android:id="@+id/backarrow" 
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:clickable="true"
     android:src="@drawable/arrow"/>

    <ImageView
        android:id="@+id/week4"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="24dp"
        android:clickable="true"
        android:paddingTop="400dp"
        android:src="@drawable/weekfour" />

    <ImageView
        android:id="@+id/week3"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:layout_toLeftOf="@+id/week4"
        android:clickable="true"
        android:paddingTop="400dp"
        android:src="@drawable/weekthree" />

    <ImageView
        android:id="@+id/week2"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:layout_toLeftOf="@+id/week3"
        android:clickable="true"
        android:paddingTop="400dp"
        android:src="@drawable/weektwo" />

    <ImageView
        android:id="@+id/week1"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:layout_toLeftOf="@+id/week2"
        android:clickable="true"
        android:paddingTop="400dp"
        android:src="@drawable/weekone" />


    <TextView
        android:id="@+id/hinttext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/week1"
        android:layout_below="@+id/backarrow"
        android:layout_marginTop="162dp"
        android:gravity="center_vertical"
        android:text="Press week1 to start workout" />

 <!-- 
 End of Relative Layout
  -->


    </RelativeLayout>

weekone.xmlのコード

<?xml version="1.0" encoding="UTF-8"?>

             <!-- Begin of Linear Layout -->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="400dp"
    android:orientation="vertical"
    android:background="@drawable/screenbackground"
    android:paddingTop="70dp" >

    <!--     Line seperator     -->

    <View
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:id="@+id/separator"
            android:visibility="visible"
            android:background="#00141c"/>

    <TextView
        android:id="@+id/week1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/week1"
        android:textColor="#FFFFFF"
        android:textSize="25sp"
        android:paddingTop="5dp"
        android:paddingBottom="5dp"
        android:background="#00141c"/>


            <!-- Begin Scrollable Relative Layout -->

<ScrollView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

<RelativeLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:scrollHorizontally="true">     


    <ImageView
        android:id="@+id/treadmillimage"
        android:layout_width="115dp"
        android:layout_height="93dp"
        android:paddingTop="10dp"
        android:src="@drawable/treadmill" />

    <EditText
        android:id="@+id/durOnTreadmill"
        android:layout_width="129dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number"
        android:layout_marginLeft="180dp" 
        android:layout_centerVertical="true"/>

            <!--     Line seperator     -->

    <View
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:id="@+id/separator"
            android:visibility="visible"
            android:background="#00141c"/>




            <!--    End Relative Layout   -->

    </RelativeLayout>


    <TextView
        android:id="@+id/treadmilltext"
        android:layout_width="91dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:text="@string/treadmill"
        android:textColor="#FFFFFF"
        android:textSize="20sp" />

<!--        Begin Relative Layou        -->

    <RelativeLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:scrollHorizontally="true">

    <ImageView
        android:id="@+id/stepperimage"
        android:layout_width="115dp"
        android:layout_height="93dp"
        android:paddingTop="10dp"
        android:src="@drawable/stepper" />

    <EditText
        android:id="@+id/durOnStepper"
        android:layout_width="129dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number"
        android:layout_marginLeft="180dp" 
        android:layout_centerVertical="true"/>

        <!--     Line seperator     -->

    <View
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:id="@+id/separator"
            android:visibility="visible"
            android:background="#00141c"/>


         <!--   End Relative Layout  -->

    </RelativeLayout>

    <TextView
        android:id="@+id/steppertext"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:text="@string/stepper"
        android:textColor="#FFFFFF"
        android:textSize="20sp" />

<!--    Begin Relative Layout    -->

    <RelativeLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:scrollHorizontally="true">

    <ImageView
        android:id="@+id/stationaryrowing"
        android:layout_width="115dp"
        android:layout_height="93dp"
        android:paddingTop="10dp"
        android:src="@drawable/stationaryrowing" />

    <EditText
        android:id="@+id/durOnStationaryRowing"
        android:layout_width="129dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number"
        android:layout_marginLeft="180dp" 
        android:layout_centerVertical="true"/>

    <!--     Line seperator     -->

    <View
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:id="@+id/separator"
            android:visibility="visible"
            android:background="#00141c"/>


<!--
End Relative Layout
-->
    </RelativeLayout>

    <TextView
        android:id="@+id/stationaryrowingtext"
        android:layout_width="108dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:text="@string/stationaryrowing"
        android:textColor="#FFFFFF"
        android:textSize="20sp" />

     <!--   Begin Relative Layout   -->
     <RelativeLayout 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:scrollHorizontally="true">

    <ImageView
        android:id="@+id/exercisebikeimage"
        android:layout_width="115dp"
        android:layout_height="93dp"
        android:paddingTop="10dp"
        android:src="@drawable/ellipticaltrainer"/>

    <EditText
        android:id="@+id/durOnexcerisebike"
        android:layout_width="129dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number"
        android:layout_marginLeft="180dp" 
        android:layout_centerVertical="true"/>

        <!--     Line seperator     -->

    <View
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:id="@+id/separator"
            android:visibility="visible"
            android:background="#00141c"/>

    <!--    End Relative Layout  -->

    </RelativeLayout>

     <TextView
        android:id="@+id/excerisebiketext"
        android:layout_width="91dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:text="@string/exercisebike"
        android:textColor="#FFFFFF"
        android:textSize="20sp" />

    <!--    Begin Relative Layout   -->

       <RelativeLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            android:scrollHorizontally="true">

    <ImageView
        android:id="@+id/ellipticaltrainerimage"
        android:layout_width="115dp"
        android:layout_height="93dp"
        android:paddingTop="10dp"
        android:src="@drawable/ellipticaltrainer"/>

    <EditText
        android:id="@+id/durOnellipticaltrainer"
        android:layout_width="129dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number"
        android:layout_marginLeft="180dp" 
        android:layout_centerVertical="true"/>

        <!--     Line seperator     -->

    <View
            android:layout_width="fill_parent"
            android:layout_height="2dp"
            android:id="@+id/separator"
            android:visibility="visible"
            android:background="#00141c"/>

    <!--        End Relative Layout      -->

</RelativeLayout>

        <TextView
        android:id="@+id/ellipticaltrainertext"
        android:layout_width="91dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:text="@string/ellipticaltrainer"
        android:textColor="#FFFFFF"
        android:textSize="20sp" />

  </ScrollView>
<!--
End Linear Layout
-->
</LinearLayout>   

したがって、私が達成したいのは、クリック可能なImageView Week 1を押すと、Textview "hintText"が非表示になり、同じアクティビティでweekone.xmlが実行されることです。FrameLayoutについて見てきました。これは、レイアウトを互いに重ね合わせるために使用され、両方のレイアウトを表示したいので、ニーズに合わないためです。ViewFlipperは、空白を押すとレイアウトを変更するために使用されますが、「第1週」ボタンを押すとレイアウトを変更したいのですが

助けてください、私は2日以来これを解決しようとしていますが、喜びはありません:(。ありがとう:)

4

2 に答える 2

1

でラップhintTextしてFrameLayoutから、

FrameLayout fl = (FrameLayout)findViewById(R.id.your_framelayout_id);
LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
fl.removeAllViews();
fl.addView(inflater.inflate(R.layout.weekone, null));

これにより、が削除hintTextされ、その内容がFrameLayout読み込まれ、元の場所に配置されます。weekone.xmlFrameLayouthintText

実際、setContentView()で使用しているはonCreate()、XMLをメインアプリケーションウィンドウに配置するのと非常によく似たものを内部的に呼び出します。

それほど複雑ではないレイアウトでは、別の方法として、静的レイアウトインクルードを使用し(レイアウトのEclipseグラフィックレイアウトエディターで「他のレイアウトを含める」を探します)、その可視性をに設定しgoneます。その後、あなたは呼び出すことができます

findViewById(R.id.hintText).setVisibility(View.GONE);
findViewById(R.id.included_layout).setVisibility(View.VISIBLE);

数行のコードを保存したい場合。

さらに別の方法は、「モダン」に移行し、フラグメントインクルージョンを使用することです(ガイドリファレンス)。習得するには時間がかかりますが、長期的には間違いなく価値があります。

于 2013-03-18T22:30:14.130 に答える
0

あなたがやろうとしていることを私が理解したなら、あなたはあなたがすでに持っている2つを含む3番目のレイアウトを作成することを試みることができます。Week1を押すと、OnClick()メソッドはレイアウトをweeks.xmlからthird.xmlに変更します。

1つはvisible=trueで、もう1つはvisible=falseであるweeks.xmlを含むレイアウトのみを作成することもできます。imageviewsをクリックすると、対応するレイアウトがvisible=trueに設定されます。

于 2013-03-18T22:19:22.217 に答える