TextSwitcherの使用および問題記録

3509 ワード

TextSwitcher字面理解は文字交換器であり、ViewSwitcherのサブクラスであり、ViewSwitcherから見ると、ViewSwitcherであり、TextSwitcherはViewSwitcherから継承されており、明らかに交換TextViewである.
1.コードの使用
package com.example.myapplication3;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextSwitcher;
import android.widget.TextView;
import android.widget.ViewSwitcher;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

/**
 * Time:2019/12/27
 * 

* Author:XUPF *

* Description: */ public class TextSwitchActivity extends Activity implements ViewSwitcher.ViewFactory { private TextSwitcher tsName; private EditText etName; private Button btName; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_text_switch); final TextSwitcher switcher = (TextSwitcher) findViewById(R.id.tsName); tsName = (TextSwitcher)findViewById(R.id.tsName); etName = (EditText)findViewById(R.id.etName); btName = (Button)findViewById(R.id.btName); tsName.setFactory(new NameSwitcherFactory()); Animation in = AnimationUtils.loadAnimation(this, android.R.anim.fade_in); Animation out = AnimationUtils.loadAnimation(this, android.R.anim.fade_out); switcher.setInAnimation(in); switcher.setOutAnimation(out); btName.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name = etName.getText().toString(); tsName.setText(etName.getText().toString()); } }); } class NameSwitcherFactory implements ViewSwitcher.ViewFactory { @Override public View makeView() { return getLayoutInflater().inflate(R.layout.picture_display_name_style, null); } } @Override public View makeView() { TextView textView = new TextView(this); textView.setTextSize(36); return textView; } }


レイアウトコードactivity_text_switch




    
    
    

picture_display_name_style







問題記録:TextSwitcherは工場モードを先に設定する必要があり、プロジェクトでは先にスライドした時に左右のスライド変化の動的効果が保存されていたため、その後スライドしない動的効果が必要になったが工場モードが変わっていないためsettextなのにスライドが発生した