2016-03-06 74 views
0

Hi =)我試圖在android中開發一個應用程序,它是一個基本的文本冒險遊戲,它顯示一些文本,然後有幾個按鈕您可以選擇的選項。非常非常基本。然而,文本會進入一個TextView,每次按下按鈕生成故事的下一部分時都會動態更改。而我的按鈕,也是動態生成的。我認爲,由於這一點,它們不會在佈局樹中顯示的TextView下方生成。無論如何,這是我的代碼。我的問題主要是如何讓按鈕顯示在可滾動TextView的底部,與頂部相比?其次,如果任何人都可以讓我獲得這些信息,我該如何清除按鈕佈局,以便我可以創建更多的按鈕?如果其中任何一個被問到,這將是非常有益的。謝謝!^-^試圖在Android中添加一個RelativeLayout結尾的按鈕

的Java:

package toymakersdev.com.theinsane; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.text.method.ScrollingMovementMethod; 
import android.view.ViewGroup; 
import android.widget.AbsListView; 
import android.widget.Button; 
import android.widget.LinearLayout; 
import android.widget.RelativeLayout; 
import android.widget.TextView; 
import android.widget.Toast; 

import org.w3c.dom.Text; 

public class GameActivity extends AppCompatActivity { 

private TextView storyText; 
private LinearLayout buttonLayout; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_game); 

    buttonLayout = (LinearLayout)findViewById(R.id.buttonLayout); 

    storyText = (TextView)findViewById(R.id.storyText); 
    storyText.setMovementMethod(new ScrollingMovementMethod()); 

    storyText.setText("Blah Blah Blah"); 

    Button button1 = new Button(this); 
    Button button2 = new Button(this); 
    button1.setText("Button1"); 
    button2.setText("Button2"); 

    button1.setLayoutParams(new ViewGroup.LayoutParams(
      ViewGroup.LayoutParams.WRAP_CONTENT, 
      ViewGroup.LayoutParams.WRAP_CONTENT)); 
    button2.setLayoutParams(new ViewGroup.LayoutParams(
      ViewGroup.LayoutParams.WRAP_CONTENT, 
      ViewGroup.LayoutParams.WRAP_CONTENT)); 

    buttonLayout.addView(button1); 
    buttonLayout.addView(button2); 
} 
} 

XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="toymakersdev.com.theinsane.GameActivity" 
android:background="#000000" 
android:padding="10dp"> 

<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/scrollView" 
    android:padding="10dp"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/storyText" 
      android:textColor="#ffffff" 
      android:textAlignment="center" 
      android:textSize="32sp"/> 

     <LinearLayout 
      android:orientation="horizontal" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/buttonLayout"> 
     </LinearLayout> 

    </RelativeLayout> 
</ScrollView> 

</RelativeLayout> 

回答

2

如何讓我的按鈕顯示在滾動的TextView的底部,相比於頂部?

使用

android:layout_alignParentBottom="true" 

,並在你的滾動型,加入這一行

android:layout_above="@+id/button" 

修改佈局如圖

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="toymakersdev.com.theinsane.GameActivity" 
android:background="#000000" 
android:padding="10dp"> 

<ScrollView 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_alignParentTop="true" 
android:layout_above="@+id/button" 
android:id="@+id/scrollView" 
android:padding="10dp"> 

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/storyText" 
     android:textColor="#ffffff" 
     android:textAlignment="center" 
     android:textSize="32sp"/> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/buttonLayout"> 
    </LinearLayout> 

</RelativeLayout> 
</ScrollView> 

<Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true"/> 

</RelativeLayout> 

如何清除按鍵佈局所以我可以c reate更多的按鈕?

您可以使用removeView()方法從其父項中移除按鈕視圖。 Like example

((ViewGroup)button.getParent()).removeView(button); 
相關問題