交换动画显示何时进入不同的布局/活动。按钮栏

问题描述:

我得到了按钮栏在整个布局和活动中工作。当我按下不同的按钮并在手机上按下“返回”时,我得到一个“交换”动画,让我回到所有以前的活动/布局。按钮工作正常,我认为它与意图有关我的Java。在这种情况下,ViewFlipper会是更好的选择吗?或者是否可以使用Intent删除它。由于交换动画显示何时进入不同的布局/活动。按钮栏

buttonbar.xml

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:shrinkColumns="*" 
android:stretchColumns="*" 
android:background="#6B1414"> 
<TableRow 
    android:id="@+id/tableRow1" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent"> 
    <Button 
     android:id="@+id/btn1" 
     android:text="@string/Str" 
     android:textStyle="bold" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:padding="18dip" 
     android:layout_weight="1" 
     android:background="#424242" 
     android:textColor="#ffffff" 
     android:gravity="center"/> 
    <Button 
     android:id="@+id/btn2" 
     android:text="@string/Agl" 
     android:textStyle="bold" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:padding="18dip" 
     android:layout_weight="1" 
     android:background="#424242" 
     android:textColor="#ffffff" 
     android:gravity="center"/> 
    <Button 
     android:id="@+id/btn3" 
     android:text="@string/Int" 
     android:textStyle="bold" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:padding="18dip" 
     android:layout_weight="1" 
     android:background="#424242" 
     android:textColor="#ffffff" 
     android:gravity="center"/> 
    <Button 
     android:id="@+id/btn4" 
     android:text="@string/Misc" 
     android:textStyle="bold" 
     android:layout_width="0dip" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="#424242" 
     android:textColor="#ffffff" 
     android:padding="18dip"/> 
</TableRow> 
</TableLayout> 

MainActivity.java

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class MainActivity extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Button btn1 =(Button)findViewById(R.id.btn1); 
    Button btn2 =(Button)findViewById(R.id.btn2); 
    Button btn3 =(Button)findViewById(R.id.btn3); 
    Button btn4 =(Button)findViewById(R.id.btn4); 

    btn1.setOnClickListener(new Button.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent myIntent = new Intent(); 
      myIntent = new Intent(getApplicationContext(), MainActivity.class); 
      myIntent.setAction(Intent.ACTION_VIEW); 
      myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
      setContentView(R.layout.activity_main); 
      startActivityForResult(myIntent, 0); 
     } 
    }); 

    btn2.setOnClickListener(new Button.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent myIntent = new Intent(); 
      myIntent = new Intent(getApplicationContext(), MainAgil.class); 
      myIntent.setAction(Intent.ACTION_VIEW); 
      myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
      setContentView(R.layout.agil_main); 
      startActivityForResult(myIntent, 0); 
     } 
    }); 


    btn3.setOnClickListener(new Button.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent myIntent = new Intent(); 
      myIntent = new Intent(getApplicationContext(), MainInt.class); 
      myIntent.setAction(Intent.ACTION_VIEW); 
      myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
      setContentView(R.layout.int_main); 
      startActivityForResult(myIntent, 0); 
     } 
    }); 


    btn4.setOnClickListener(new Button.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent myIntent = new Intent(); 
      myIntent = new Intent(getApplicationContext(), MainMisc.class); 
      myIntent.setAction(Intent.ACTION_VIEW); 
      myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI); 
      setContentView(R.layout.misc_main); 
      startActivityForResult(myIntent, 0); 
     } 
    }); 

}} 

你开始新的活动,每个新的活动,就像一个堆栈被推动。后退按钮只是做实际的工作,回到最后的活动。如果你真的想保持一个按钮栏,尽量片段

http://developer.android.com/guide/components/fragments.html

+0

谢谢,我读了指导,但我很困惑如何做到这一点有一个按钮栏来实现。任何例子?提前致谢。 – DuckiesUnite 2013-03-22 20:46:30

+0

使用带有按钮栏和上方按钮的布局,或者任何你想要的地方,放置一个框架布局或片段本身。那个链接就是一个很好的例子。请耐心等待并阅读。 :)不要忘记标记这个答案为接受和正确的。对我好。 – Moesio 2013-03-22 20:54:50