選択 モバイル版に入る | PC版を継続
Android開発に助かるApkSchool版主募集中DISCUZ!X3.1 Japanese Version提供
表示: 4384|返信: 0

Android UI編 ViewFlipper ビューのスライドショー①

[リンクをコピー]
发表于 2013-7-22 16:09:43 | 显示全部楼层 |阅读模式
webhostingpad
layoutのmain.xmlなしで、ViewFliperの作り方についての例を示します。
  1. package net.apkschool.viewfliper;

  2. import android.os.Bundle;
  3. import android.app.Activity;
  4. import android.graphics.Color;
  5. import android.util.Log;
  6. import android.view.Gravity;
  7. import android.view.View;
  8. import android.view.View.OnClickListener;
  9. import android.view.ViewGroup;
  10. import android.widget.Button;
  11. import android.widget.ImageView;
  12. import android.widget.LinearLayout;
  13. import android.widget.NumberPicker;
  14. import android.widget.TextView;
  15. import android.widget.Toast;
  16. import android.widget.NumberPicker.OnValueChangeListener;
  17. import android.widget.ViewFlipper;

  18. public class MainActivity extends Activity implements OnClickListener {

  19.         // ViewFlipperを宣言
  20.         private ViewFlipper oViewFliper;

  21.         @Override
  22.         protected void onCreate(Bundle savedInstanceState) {
  23.                 super.onCreate(savedInstanceState);

  24.                 // 基レイアウトの作成
  25.                 LinearLayout oLayout = new LinearLayout(getApplicationContext());
  26.                 oLayout.setOrientation(LinearLayout.VERTICAL);
  27.                 // 基レイアウトを画面に設定
  28.                 setContentView(oLayout);

  29.                 // ViewFlipperの生成
  30.                 oViewFliper = new ViewFlipper(getApplicationContext());
  31.                 // 自動でスライドショーを始める
  32.                 oViewFliper.setAutoStart(false);
  33.                 // スライドショーの感覚を指定する
  34.                 oViewFliper.setFlipInterval(1000);
  35.                 // ViewFlipper、1ページ目、2ページ目の作成と共に追加
  36.                 oViewFliper.addView(Make_Text(1, "ビュー1"));
  37.                 oViewFliper.addView(Make_Text(2, "ビュー2"));

  38.                 // ViewFlipper、3ページ目の作成
  39.                 // 子layoutを作成
  40.                 LinearLayout oViewFliperChildLayout = new LinearLayout(
  41.                                 getApplicationContext());

  42.                 // ImageViewの生成
  43.                 ImageView oImage = new ImageView(getApplicationContext());
  44.                 // ImageViewに画像を設定
  45.                 oImage.setImageResource(R.drawable.ic_launcher);

  46.                 // 子layoutに作成したtextviewやら、画像を追加
  47.                 oViewFliperChildLayout.addView(Make_Text(3, "ビュー3"));
  48.                 oViewFliperChildLayout.addView(oImage);

  49.                 // ViewFlipper、3ページ目に子Layoutを追加
  50.                 oViewFliper.addView(oViewFliperChildLayout);

  51.                 // ViewFlipperをレイアウト(setVontentViewした)に追加
  52.                 oLayout.addView(oViewFliper);

  53.                 // ボタンの作成
  54.                 oLayout.addView(Make_Button(4, "次へ"));
  55.                 oLayout.addView(Make_Button(5, "戻る"));
  56.                 oLayout.addView(Make_Button(6, "スライドショーPlay"));
  57.                 oLayout.addView(Make_Button(7, "スライドショーStop"));
  58.         }

  59.         private TextView Make_Text(int id, String sTitle) {
  60.                 TextView tv = new TextView(getApplicationContext());
  61.                 tv.setText(sTitle);
  62.                 tv.setId(id);
  63.                 return tv;
  64.         }

  65.         private Button Make_Button(int id, String sTitle) {
  66.                 Button btn = new Button(getApplicationContext());
  67.                 btn.setText(sTitle);
  68.                 btn.setTag(sTitle);
  69.                 btn.setId(id);
  70.                 btn.setOnClickListener(this);
  71.                 return btn;
  72.         }

  73.         @Override
  74.         public void onClick(View v) {
  75.                 Log.d("ボタン", (String) v.getTag());
  76.                 if (v.getTag().equals("次へ")) {
  77.                         oViewFliper.showNext();
  78.                 } else if (v.getTag().equals("戻る")) {
  79.                         oViewFliper.showPrevious();
  80.                 } else if (v.getTag().equals("スライドショーPlay")) {
  81.                         oViewFliper.startFlipping();
  82.                 } else if (v.getTag().equals("スライドショーStop")) {
  83.                         oViewFliper.stopFlipping();
  84.                 }
  85.         }
  86. }
コードコピー
返信

道具使用 レポート

返信は先にログインが必要 ログイン | 直ぐ登録

フォーラム点数規則

フリーランス

モバイル版|APK School Net  

GMT+8, 2017-12-12 06:39 , Processed in 0.129776 second(s), 24 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速返信 トップへ リストへ