我试图制作一个像这样的“Tab切换器”:
http://i.stack.imgur.com/C5DMW.png
http://i.stack.imgur.com/bIGHP.png
我实际上使用了Tabs的按钮和视图的Layouts。我将布局的可见性设置为GONE,当它不活动时,我按下Tab键时可见。好吗?有更好的方法吗?
我不知道我是否应该在布局中使用片段并从不同的活动中加载选项卡,或者只是在布局和相同的活动中设置选项卡。
我会告诉你一些代码,所以你可以理解我:
<LinearLayout 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"
android:orientation="vertical" >
<Button
android:layout_width="match_parent"
android:layout_height="25dp"
android:text="ACTIVITY ONE"
android:id="@+id/btnActivity1"
android:background="@drawable/tab_normal"
android:textStyle="bold" />
<FrameLayout
android:id="@+id/layActivity1"
android:layout_width="match_parent"
android:layout_height="400dp"
android:visibility="visible">
<fragment
android:name="com.android.tests.fragments.tab1"
android:id="@+id/fraActivity1"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/layout_tab1" />
</FrameLayout>
<Button
android:layout_width="match_parent"
android:layout_height="25dp"
android:text="ACTIVITY TWO"
android:id="@+id/btnActivity2"
android:background="@drawable/tab_normal"
android:textStyle="bold" />
<LinearLayout
android:id="@+id/layActivity2"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="500dp"
android:padding="35dp"
android:visibility="gone">
<Button
android:layout_width="match_parent"
android:layout_height="40dp"
android:text="NEXT"
android:id="@+id/btnNEXT"
android:background="@drawable/button_style"
android:layout_marginBottom="10dp"/>
</LinearLayout>
</LinearLayout>
在Activity1中,我在Activity2中使用Fragment,我不这样做。什么是正确的方法?
代码是这样的:
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
public class Main extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnActivity1 = (Button)findViewById(R.id.btnActivity1);
Button btnActivity2 = (Button)findViewById(R.id.btnActivity2);
final FrameLayout layActivity1 = (FrameLayout)findViewById(R.id.layActivity1);
final LinearLayout layActivity2 = (LinearLayout)findViewById(R.id.layActivity2);
btnActivity1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
layActivity1.setVisibility(View.VISIBLE);
layActivity2.setVisibility(View.GONE);
}
});
btnActivity2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
layActivity1.setVisibility(View.GONE);
layActivity2.setVisibility(View.VISIBLE);
}
});
}
}
我不知道我是否必须使用“extends Activity”或“FragmentActivity”。每条评论都会有所帮助。
抱歉英语不好,希望你能理解。