网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

如何在Android中实现一个动画效果的自定义下拉菜单功能-创新互联

如何在Android中实现一个动画效果的自定义下拉菜单功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联专注于企业成都全网营销推广、网站重做改版、鄂伦春网站定制设计、自适应品牌网站建设、H5网站设计商城开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为鄂伦春等各大城市提供网站开发制作服务。

要实现的功能及思路如下:


下拉菜单样式是自定义的、非原生效果:需要使用 setDropDownViewResource 方法来设置下拉视图的布局样式。该方法需要传入布局资源,该布局需要定义每个 Item 的属性,比如宽高和文字颜色等(为了使效果明显,我将每个 Item 的高度设置为 50 dp,文字设置为蓝色)点击这个 Spinner 控件时,让其运行一段“从左到右、逐渐显示”的渐变动画:我通过 xml 的方式来定义这个动画,需要包含 translate(位移) 和 alpha(透明度) 两个TAG,并设置相应的属性值下拉菜单的内容列表要展示在 Spinner 里面,需要通过适配器 Adapter 跟 Spinner 进行绑定:可以直接使用Android原生的 ArrayAdapter选择任意一个 Item 后,将其内容展示在界面上,告知用户选择的内容:需要实现 Spinner 的 onItemSelected 监听回调

源码如下:

1、主Activity(注意代码中的注释,不然你会遇到一些坑!)

public class SpinnerDemo extends Activity {
  private static final String[] countries = {"北京", "上海", "广州", "深圳", "成都", "杭州"};

  private TextView mTextView;
  private Spinner mSpinner;
  private ArrayAdapter mAdapter;
  private Animation mAnimation;

  @Override
  protected void onCreate(Bundle onSavedInstance) {
    super.onCreate(onSavedInstance);
    setContentView(R.layout.spinner_demo);

    mTextView = findViewById(R.id.textView9);
    mSpinner = findViewById(R.id.spinner);

    mAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, countries);

    // 自定义的下拉视图布局样式
    mAdapter.setDropDownViewResource(R.layout.spinner_drop_down);

    // 设置数据的适配器
    mSpinner.setAdapter(mAdapter);

    mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
      @Override
      public void onItemSelected(AdapterView parent, View view, int position, long id) {
        mTextView.setText("你选择的是:" + countries[position]);

        // 一定要设置父视图可见,否则 在选择后,Spinner会消失
        parent.setVisibility(View.VISIBLE);
      }

      @Override
      public void onNothingSelected(AdapterView parent) {
      }
    });

    // 通过 xml 的形式来定义动画
    mAnimation = AnimationUtils.loadAnimation(this, R.anim.my_anim);
    mSpinner.setOnTouchListener(new Spinner.OnTouchListener() {
      @Override
      public boolean onTouch(View v, MotionEvent event) {
        // 点击 Spinner 后,运行动画
        v.startAnimation(mAnimation);
        return false;
      }
    });
  }
}

2、布局文件 spinner_demo.xml 如下:




  

  

3、自定义的下拉视图样式布局文件 spinner_drop_down.xml 如下:



4、自定义动画 xml 文件如下:



  

  

关于如何在Android中实现一个动画效果的自定义下拉菜单功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


网页名称:如何在Android中实现一个动画效果的自定义下拉菜单功能-创新互联
URL链接:http://bjjierui.cn/article/doseci.html

其他资讯