Tôi hiện đang sử dụng ViewFlipper
cho hoạt động chính của mình với hai bố cục khác nhau. Tôi muốn sử dụng bố cục thứ ba, nhưng tôi chỉ có thể tìm thấy các lệnh showNext()
và showPrevious()
. Ai đó có thể chỉ cho tôi cách triển khai bố cục thứ ba bằng cách sử dụng ViewFlipper
không?Cách sử dụng trình xem flipper với ba bố cục?
Trả lời
Làm ví dụ cho bạn cho thấy cách hiển thị các chế độ xem khác nhau trong ViewFlipper.
Bố cục của ví dụ được tạo thành từ các phần sau. Có ba nút radio. Một ViewFlipper được đặt bên dưới các nút radio. Flipper này giữ ba quan điểm đơn giản khác nhau với các văn bản khác nhau.
Các nút radio sau đó được nối với người nghe trong mã java sẽ thay đổi chế độ xem được hiển thị bởi ViewFlipper tùy thuộc vào nút radio hiện được chọn.
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
<RadioGroup android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton android:layout_height="wrap_content"
android:id="@+id/radio0" android:layout_width="wrap_content"
android:text="Show View 1" android:checked="true"></RadioButton>
<RadioButton android:layout_height="wrap_content"
android:id="@+id/radio1" android:layout_width="wrap_content"
android:text="Show view 2"></RadioButton>
<RadioButton android:layout_height="wrap_content"
android:id="@+id/radio2" android:layout_width="wrap_content"
android:text="Show View 3"></RadioButton>
</RadioGroup>
<ViewFlipper android:id="@+id/ViewFlipper01"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!--adding views to ViewFlipper-->
<TextView android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="First view is now displayed"></TextView>
<TextView android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Second view is now displayed"></TextView>
<TextView android:id="@+id/TextView03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Third view is now displayed"></TextView>
</ViewFlipper>
</LinearLayout>
JAVA
package com.test.threeviews;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.RadioButton;
import android.widget.ViewFlipper;
public class ThreeViewsinaFlipperActivity extends Activity {
RadioButton RB0;
RadioButton RB1;
RadioButton RB2;
ViewFlipper VF;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/*
* Find the views declared in main.xml.
*/
RB0 = (RadioButton) findViewById(R.id.radio0);
RB1 = (RadioButton) findViewById(R.id.radio1);
RB2 = (RadioButton) findViewById(R.id.radio2);
VF = (ViewFlipper) findViewById(R.id.ViewFlipper01);
/*
* Set a listener that will listen for clicks on the radio buttons and
* perform suitable actions.
*/
RB0.setOnClickListener(radio_listener);
RB1.setOnClickListener(radio_listener);
RB2.setOnClickListener(radio_listener);
}
/*
* Define a OnClickListener that will change which view that is displayed by
* the ViewFlipper
*/
private OnClickListener radio_listener = new OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.radio0:
VF.setDisplayedChild(0);
break;
case R.id.radio1:
VF.setDisplayedChild(1);
break;
case R.id.radio2:
VF.setDisplayedChild(2);
break;
}
}
};
}
Viết cảm ơn rất nhiều – user861040
Cảm ơn rất nhiều vì mã – user861040
Xem này sử dụng đơn giản của android.widget.ViewFlipper. Với nó, bạn có thể tạo bố cục khác nhau từ xml và sau đó chuyển đổi giữa chúng bằng phương pháp đơn giản như thế này: ví dụ
ViewFlipper viewFlipper = (ViewFlipper) findViewById(R.id.myViewFlipper);
// you can switch between next and previous layout and display it
viewFlipper.showNext();
viewFlipper.showPrevious();
// or you can switch selecting the layout that you want to display
viewFlipper.setDisplayedChild(1);
viewFlipper.setDisplayedChild(viewFlipper.indexOfChild(findViewById(R.id.secondLayout)
Xml với cách bài trí cây:
<ViewFlipper
android:id="@+id/myViewFlipper"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/firstLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
[...]
</LinearLayout>
<LinearLayout
android:id="@+id/secondLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
[...]
</LinearLayout>
<LinearLayout
android:id="@+id/thirdLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
[...]
</LinearLayout>
</ViewFlipper>
Bạn có thể sử dụng nó theo cách này cũng có. Tôi đã đính kèm mã java và tệp xml nơi một nút được sử dụng để thay đổi chế độ xem flipper.
package com.nikhil.play.add_subtract;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ViewFlipper;
public class Flipper extends Activity implements OnClickListener {
ViewFlipper flippy;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_flipper);
flippy = (ViewFlipper) findViewById(R.id.viewFlipper1);
flippy.setOnClickListener(this);
flippy.setFlipInterval(10000);
flippy.startFlipping();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
flippy.showNext();
}
}
XML số-
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ViewFlipper
android:id="@+id/viewFlipper1"
android:layout_width="wrap_content"
android:layout_height="match_parent" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Flipper 2" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Flipper 3" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Flipper 4" />
</ViewFlipper>
</LinearLayout>
đơn giản trả lời là: SỬ DỤNG 'CHO' LOOP
1 giải pháp dòng
// j = số lần u muốn thay đổi quan điểm
for(i=0;i<j;i++) viewFlipper.showNext();
Kiểm soát thứ e viewFlipper, bằng cách thay đổi giá trị của 'j'.
Cảm ơn
xml
<ViewFlipper
android:id="@+id/viewflip"
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_weight="1"
/>
Java
public class BlankFragment extends Fragment{
ViewFlipper viewFlipper;
FragmentManager fragmentManager;
int gallery_grid_Images[]={drawable.image1, drawable.image2, drawable.image3,
drawable.image1, drawable.image2, drawable.image3, drawable.image1,
drawable.image2, drawable.image3, drawable.image1
};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
View rootView = inflater.inflate(fragment_blank, container, false);
viewFlipper =(ViewFlipper)rootView.findViewById(R.id.viewflip);
for(int i=0;i<gallery_grid_Images.length;i++)
{
// This will create dynamic image view and add them to ViewFlipper
setFlipperImage(gallery_grid_Images[i]);
}
return rootView;
}
private void setFlipperImage(int res) {
Log.i("Set Filpper Called", res+"");
ImageView image = new ImageView(getContext());
image.setBackgroundResource(res);
viewFlipper.addView(image);
viewFlipper.setFlipInterval(1000);
viewFlipper.setAutoStart(true);
}
- 1. Cách sử dụng bố cục nhiều ngăn với ViewPager
- 2. Android: Chế độ xem cuộn ngang với ba bố cục tuyến tính
- 3. Sử dụng agility.js để bố cục trang và bố cục
- 4. cách sử dụng chế độ xem được khai báo trong một tệp xml bố cục trong bố cục khác
- 5. Sử dụng bố cục ScrollViews vào HorizontalScrollView
- 6. Cách tìm mục nào sử dụng bố cục cụ thể
- 7. DialogFragment: Sử dụng AlertDialog với bố cục tùy chỉnh
- 8. Thay đổi Panels bằng cách sử dụng Bố cục thẻ
- 9. Sử dụng lớp GLSurfaceView với bố cục xml android
- 10. Bố cục động với bố cục đường ray
- 11. Android sử dụng bố cục làm mẫu để tạo nhiều bản sao bố cục
- 12. Tràn với bố cục bố cục tuyệt đối/tương đối
- 13. Sử dụng bố cục XML làm chế độ xem cho lớp con Xem?
- 14. Bố cục biểu mẫu bằng cách sử dụng CSS
- 15. cách thêm chế độ xem vào bố cục XML android
- 16. Bố cục bố cục trong ứng dụng Android là gì?
- 17. Bố cục CSS ba bảng ít hàng với hàng giữa lấp đầy không gian còn lại
- 18. MVC4 không sử dụng bố cục chính trên chuyển hướng
- 19. cách mở tệp xml bố cục trong Trình chỉnh sửa bố cục Android?
- 20. android - cách xóa chế độ xem bố cục tuyến tính
- 21. Bố cục chế độ xem Android - cách thay đổi theo chương trình?
- 22. Bố cục trong chương trình Win32 GUI
- 23. Sử dụng RSpec để kiểm tra bố cục
- 24. Bố cục lưới Vs. Bố cục bảng
- 25. OpenGL và bố cục
- 26. Cách thêm chế độ xem tùy chỉnh vào bố cục?
- 27. Xóa bố cục theo chương trình
- 28. Bố cục cập nhật với hoạt ảnh
- 29. Thay đổi Bố cục Widget Lập trình
- 30. express js - ejs với mẫu bố cục
Nếu bạn có 3 bố trí trong viewflipper, showNext() cho thấy quan điểm liên tục, ví dụ: showNext() aftrer bố trí 2 cho thấy cách bố trí thứ 3. – sat
Thử sử dụng phương pháp này: public void setDisplayedChild (int whichChild) để đặt chế độ xem của bạn. – HenrikS
Có thể chuyển từ chế độ xem đầu tiên sang chế độ xem thứ hai về đầu tiên và sau đó đến chế độ xem thứ ba không? – user861040