현재 두 개의 다른 레이아웃을 사용하여 내 주요 활동에 ViewFlipper
을 사용하고 있습니다. 세 번째 레이아웃을 사용하고 싶지만 showNext()
및 showPrevious()
명령 만 찾을 수 있습니다. 다른 사람이 ViewFlipper
을 사용하여 세 번째 레이아웃을 구현하는 방법을 보여 줄 수 있습니까?레이아웃이 세 개인 뷰 플리퍼를 사용하는 방법은 무엇입니까?
답변
ViewFlipper에서 다른보기를 표시하는 방법을 보여주는 예제를 작성했습니다.
예제의 레이아웃은 다음 부분으로 구성됩니다. 3 개의 라디오 버튼이 있습니다. ViewFlipper는 라디오 버튼 아래에 배치됩니다. 이 플리퍼는 텍스트가 다른 세 가지 간단한보기를 보유하고 있습니다.
라디오 버튼은 현재 선택된 라디오 버튼에 따라 ViewFlipper가 표시하는보기를 변경하는 Java 코드의 리스너에 연결됩니다.
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;
}
}
};
}
고마워요. – user861040
고맙습니다. – user861040
는 android.widget.ViewFlipper의 간단한 사용을 참조하십시오. 그것으로 당신은 XML에서 다른 레이아웃을 만들 수 있습니다 다음과 같은 간단한 방법으로 그들 사이를 전환 :
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 예제를 트리 레이아웃과 :
이 <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>
또한이 방법으로 사용할 수 있습니다. 플리퍼보기를 변경하는 데 사용되는 단추와 자바 코드 및 XML 파일을 첨부했습니다.
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 코드 -이
<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>
간단한 답은 'for'루프 사용
1 라인 솔루션
// J = 횟수는 u는 뷰를 이동하려면
for(i=0;i<j;i++) viewFlipper.showNext();
제어 th e viewFlipper의 값을 'j'값으로 변경합니다.
감사
XML
<ViewFlipper
android:id="@+id/viewflip"
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_weight="1"
/>
자바
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. 개인 변수를 사용하는 Pythonic 방법은 무엇입니까?
- 2. 뷰 플리퍼를 사용하여 listview에서 특정 항목의 다음보기로 이동하는 방법
- 3. UISplitViewController를 모달 뷰 컨트롤러로 사용하는 방법은 무엇입니까?
- 4. 세 뷰 insdie와 I는 viewFlipper이
- 5. C에서 세 번째 DLL에서 두 DLL의 코드를 사용하는 방법은 무엇입니까?
- 6. 개인 복사 생성자 및 할당 생성자가있는 객체를 사용하는 방법은 무엇입니까?
- 7. iOS 용 Xcode에서 개인 프레임 워크를 사용하는 방법은 무엇입니까?
- 8. 크롬에서이 레이아웃이 깨지는 이유는 무엇입니까?
- 9. GitHub와 같은 개인 저장소를 사용하는 이유는 무엇입니까?
- 10. 트위스트를 사용하는 세 시스템의 십진수
- 11. 테이블 뷰 셀 이미지에서 uicontrolstate 함수를 사용하는 방법은 무엇입니까?
- 12. 개인/공공 회원으로 벡터를 사용하는 클래스 디자인?
- 13. JFrame 레이아웃이 내가 설정 한 레이아웃이 아닌 이유는 무엇입니까?
- 14. 개인 데이터를 개별 셀에 추가하는 방법은 무엇입니까?
- 15. 안드로이드의 뷰 플리퍼에서 같은 레이아웃을 다시로드하는 방법은 무엇입니까?
- 16. 세 개의 경계를 만드는 방법은 무엇입니까?
- 17. 세 가지보기간에 좌표계를 변환하는 쉬운 방법은 무엇입니까?
- 18. ASP.NET MVC에서 사용하는 뷰 엔진은 무엇입니까?
- 19. 레이아웃이 많은 텍스트
- 20. 뷰 스텁을 만드는 방법은 무엇입니까?
- 21. 뷰 iphone을 푸시하는 방법은 무엇입니까?
- 22. 새 뷰 메서드를로드하는 방법은 무엇입니까?
- 23. 플리퍼를 사용하여 멀티 터치로 스 와이프 동작을 감지하는 방법
- 24. xml의 레이아웃보기에서 다른 플리퍼를 보려면 어떻게해야합니까?
- 25. Navigationcontroller Stupid로 각각 세 개의 하위 뷰 추가?
- 26. 어떤 레이아웃이 가장 좋은 해결책일까요?
- 27. 캔트 ..이 열 레이아웃이
- 28. TeamCity를 개인 파일로 구성하는 방법은 무엇입니까?
- 29. FluentNibernate에서 개인 ID 필드를 매핑하는 방법은 무엇입니까?
- 30. JavaScript에서 개인 회원을 상속하는 방법은 무엇입니까?
당신이 viewflipper 3 개 레이아웃이있는 경우는, showNext()는보기 순차적으로, 2 레이아웃 aftrer 즉 showNext() 3 레이아웃을 보여줍니다 보여줍니다. – sat
이 메서드를 사용하여보십시오 : public void setDisplayedChild (int whichChild) 뷰를 설정합니다. – HenrikS
첫 번째보기에서 두 번째보기로 돌아가서 처음부터 다시 세 번째보기로 이동할 수 있습니까? – user861040