使用动态生成的Textview创建Android TextSwitcher

时间:2011-06-16 14:10:42

标签: android text textview gallery switch-statement

我打算创建一个类似于图库的TextSwitcher TextView,就像这样

见图片http://img441.imageshack.us/img441/5610/textp.png

当我点击选定的TextView时,系统会启动一项活动。

我已经阅读了Android API演示和许多其他帖子,但我仍然无法创建这样的内容。 APIdemo没有告诉我如何将TextViewTextSwitcher一起使用。

我认为这很有用http://www.java2s.com/Open-Source/Android/android-core/platform-frameworks-base/android/widget/TextSwitcher.java.htm但我不知道如何使用它并链接到我的activty onCreate方法并添加我动态生成的textview

有人会非常友好地将工作解决方案与XML一起发布吗?对不起,我是Android新手..非常感谢一些帮助。感谢。

2 个答案:

答案 0 :(得分:1)

我在apidemos中得到了以下示例 从以下路径

C:\Program Files\Android\android-sdk-windows\samples\android-10\ApiDemos\res\layout

C:\Program Files\Android\android-sdk-windows\samples\android-10\ApiDemos\src\com\example\android\apis\view

<强> TextSwitcher1.java

public class TextSwitcher1 extends Activity implements ViewSwitcher.ViewFactory,
            View.OnClickListener {

        private TextSwitcher mSwitcher;

        private int mCounter = 0;

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

            setContentView(R.layout.text_switcher_1);

            mSwitcher = (TextSwitcher) findViewById(R.id.switcher);
            mSwitcher.setFactory(this);

            Animation in = AnimationUtils.loadAnimation(this,
                    android.R.anim.fade_in);
            Animation out = AnimationUtils.loadAnimation(this,
                    android.R.anim.fade_out);
            mSwitcher.setInAnimation(in);
            mSwitcher.setOutAnimation(out);

            Button nextButton = (Button) findViewById(R.id.next);
            nextButton.setOnClickListener(this);

            updateCounter();
        }

        public void onClick(View v) {
            mCounter++;
            updateCounter();
        }

        private void updateCounter() {
            mSwitcher.setText(String.valueOf(mCounter));
        }

        public View makeView() {
            TextView t = new TextView(this);
            t.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
            t.setTextSize(36);
            return t;
        }
    }

<强> TextSwitcher_1.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button android:id="@+id/next"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:text="@string/text_switcher_1_next_text" />

    <TextSwitcher android:id="@+id/switcher"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

答案 1 :(得分:0)

我无法使用动态TextView创建TextSwitcher。相反,我的替代解决方案是使用ImageView。这样,我可以创建一个带有水平滚动的图库,如链接

中所示