精华内容
下载资源
问答
  • 3D卡片切换
    2021-06-09 07:07:09

    源码片段

    public class MainActivity extends FragmentActivity implements OnCardClickListener{

    List list;

    private TestFragment frag;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    initUI();

    }

    private void initUI() {

    CardView cardView = (CardView) findViewById(R.id.cardView1);

    cardView.setOnCardClickListener(this);

    cardView.setItemSpace(Utils.convertDpToPixelInt(this, 20));

    MyCardAdapter adapter = new MyCardAdapter(this);

    adapter.addAll(initData());

    cardView.setAdapter(adapter);

    FragmentManager manager = getSupportFragmentManager();

    frag = new TestFragment();

    manager.beginTransaction().add(R.id.contentView, frag).commit();

    }

    @Override

    public void onCardClick(final View view, final int position) {

    Toast.makeText(MainActivity.this, position + "", Toast.LENGTH_SHORT).show();

    Bundle bundle = new Bundle();

    bundle.putString("text", list.get(position%list.size()));

    frag.show(view,bundle);

    }

    private List initData() {

    list = new ArrayList();

    list.add("a");

    list.add("b");

    list.add("c");

    list.add("d");

    list.add("e");

    list.add("f");

    list.add("g");

    return list;

    }

    public class MyCardAdapter extends CardAdapter{

    public MyCardAdapter(Context context) {

    super(context);

    }

    @Override

    public int getCount() {

    return Integer.MAX_VALUE;

    }

    @Override

    protected View getCardView(int position,

    View convertView, ViewGroup parent) {

    if(convertView == null) {

    LayoutInflater inflater = LayoutInflater.from(MainActivity.this);

    convertView = inflater.inflate(R.layout.item_layout, parent, false);

    }

    TextView tv = (TextView) convertView.findViewById(R.id.textView1);

    String text = getItem(position%list.size());

    tv.setText(text);

    return convertView;

    }

    }

    }

    更多相关内容
  • android任务键效果--卡片滑动,选择,侧滑删除;android任务键效果--卡片滑动,选择,侧滑删除
  • 一个仿安卓5.0任务管理器最近打开任务卡片效果的自定义布局。项目地址:https://github.com/ZieIony/MaterialRecents 效果图:如何使用:创建实例  android:padding="16dp"  android:id="@ id/recents"  ...
  • 最近小猿在改进之前写过的学校教务系统APP的UI界面的时候,发现了一个有趣的Android UI——卡片式折叠交互CardStackView,该View是在GitHub上找到的,但是该View的主人没有告诉我如何使用,小猿研究了半天,在此,将...

    最近小猿在改进之前写过的学校教务系统APP的UI界面的时候,发现了一个有趣的Android UI——卡片式折叠交互CardStackView,该View是在GitHub上找到的,但是该View的主人没有告诉我如何使用,小猿研究了半天,在此,将其简单的使用步骤阐述一下:使用步骤:

    1.在Android studio中dependencies里添加依赖dependencies {

    compile 'com.loopeer.library:cardstack:1.0.2'}

    2.自定义一个单个卡片的item:LinearLayout

    android:id="@+id/linear_list_card_item"

    xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:orientation="vertical"

    app:stackHeaderHeight="100dp">

    android:id="@+id/frame_list_card_item"

    android:layout_width="match_parent"

    android:layout_height="80dp"

    android:background="@drawable/course_item_1">

    android:id="@+id/text_list_card_title"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_margin="20dp"

    android:textColor="#fff"

    android:textSize="24sp"

    android:textStyle="bold"

    tools:text="12"/>

    android:id="@+id/container_list_content"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:animateLayoutChanges="true">

    android:id="@+id/recycler"

    android:layout_width="match_parent"

    android:layout_height="wrap_content">

    3.在主布局里使用CardStackView:<?xml  version="1.0" encoding="utf-8"?>

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:background="#f0f0f0">

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:clipToPadding="false"

    android:padding="6dp">

    4.写一个TestStackAdapter(GitHub博主上给出了个Adapter的demo,里面有卡片的三种样式:ColorItemViewHolder :显示卡片正常样式

    ColorItemLargeHeaderViewHolder :卡片的头比正常显示的大

    ColorItemWithNoHeaderViewHolder :不显示卡片的头,只显示内容)

    TestStackAdapter代码有点长,但是理解起来不难,因为它非常像RecyclerView.Adapter<>,因为它是继承自CardStackView.Adapter<>,我将部分主要代码讲一下:

    1.onCreateView():加载卡片的item布局(三种样式可以加载):@Override

    protected CardStackView.ViewHolder onCreateView(ViewGroup parent, int viewType) {

    View view;        switch (viewType) {            case R.layout.list_card_item_larger_header:

    view = getLayoutInflater().inflate(R.layout.list_card_item_larger_header, parent, false);                return new ColorItemLargeHeaderViewHolder(view);            case R.layout.list_card_item_with_no_header:

    view = getLayoutInflater().inflate(R.layout.list_card_item_with_no_header, parent, false);                return new ColorItemWithNoHeaderViewHolder(view);            default:

    view = getLayoutInflater().inflate(R.layout.list_card_item, parent, false);                return new ColorItemViewHolder(view);

    }

    }

    2.getItemViewType():返回每个item的布局样式,在这个Adapter里,都返回了统一的样式:@Override

    public int getItemViewType(int position) {        if (position == 6) {//TODO TEST LARGER ITEM

    return R.layout.list_card_item_larger_header;

    } else if (position == 10) {            return R.layout.list_card_item_with_no_header;

    }else {            return R.layout.list_card_item;

    }

    }

    3.onItemExpand(boolean b):在这里判断卡片是否被点击,true就将卡片展开:@Override

    public void onItemExpand(boolean b) {

    mContainerContent.setVisibility(b ? View.VISIBLE : View.GONE);

    }

    4.onBind(Integer data, int position):根据item的position来加载卡片内的内容:public void onBind(Integer data, int position) {            mLayout.getBackground().setColorFilter(ContextCompat.getColor(getContext(), data), PorterDuff.Mode.SRC_IN);            mTextTitle.setText(String.valueOf(position));

    }

    5.bindView(Integer data, int position, CardStackView.ViewHolder holder):调用onBind()来加载布局:@Override

    public void bindView(Integer data, int position, CardStackView.ViewHolder holder) {        if (holder instanceof ColorItemLargeHeaderViewHolder) {

    ColorItemLargeHeaderViewHolder h = (ColorItemLargeHeaderViewHolder) holder;

    h.onBind(data, position);

    }        if (holder instanceof ColorItemWithNoHeaderViewHolder) {

    ColorItemWithNoHeaderViewHolder h = (ColorItemWithNoHeaderViewHolder) holder;

    h.onBind(data, position);

    }        if (holder instanceof ColorItemViewHolder) {

    ColorItemViewHolder h = (ColorItemViewHolder) holder;

    h.onBind(data, position);

    }

    }

    5.在MainActivity中将CardStackView初始化,因为我是在Fragment中写的,在此,附上我的Fragment中的代码:public class ProjectFragment extends Fragment implements CardStackView.ItemExpendListener{

    private CardStackView cardStackView;    private TestStackAdapter testStackAdapter;    private static Integer[] item = new Integer[]{R.color.team1,R.color.team2,R.color.team3,

    R.color.team4,R.color.team5,R.color.team6,R.color.team7,R.color.team8};    @Nullable

    @Override

    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.project_fragment,container,false);

    initWight(view);        return view;

    }    private void initWight(View view) {

    cardStackView = (CardStackView) view.findViewById(R.id.stackview);

    testStackAdapter = new TestStackAdapter(getContext());

    cardStackView.setAdapter(testStackAdapter);

    cardStackView.setItemExpendListener(this);

    handler.postDelayed(new Runnable() {            @Override

    public void run() {

    testStackAdapter.updateData(Arrays.asList(item));

    }

    },200);

    }    @Override

    public void onItemExpend(boolean expend) {

    }

    }

    1.先初始化一组颜色的数组,因为TestStackAdapter中根据传入的颜色数组来将卡片的片头附上颜色:private static Integer[] item = new Integer[]{R.color.team1,R.color.team2,R.color.team3,

    R.color.team4,R.color.team5,R.color.team6,R.color.team7,R.color.team8};

    2.利用handler来进行延时更新卡片内的内容,先将CardStackView实例化,在利用.updateData()来进行CardStackView的内容更新:handler.postDelayed(new Runnable() {            @Override

    public void run() {

    testStackAdapter.updateData(Arrays.asList(item));

    }

    },200);

    3.CardStackView的item展开监听事件(通过implement CardStackView.ItemExpendListener):cardStackView.setItemExpendListener(this);@Override

    public void onItemExpend(boolean expend) {

    }

    CardStackView的简单使用就到此了,如果对此有兴趣的话,可以自行研究一下源码,也可自己写个CardStackAdapter,因为源代码的TestStackAdapter是继承自CardStackView.Adapter<>的

    展开全文
  • 安卓期末大作业Android studio,包含项目源码,项目报告书,任务书,App等等应有尽有,项目导入即可使用。 1.用户点击加号按钮输入单词,键盘会自动弹出并焦点在输入框,用户输入英文和中文释义,单词本上将在最上面...
  • 仿iOS9多任务切换的卡片流。.zip,MXCardLayout reproduces the behavior seen in iOS9's multitasking switcher.
  • Screenshot Installation dependencies { compile 'com.loopeer.library:cardstack:1.0.2' } Usages android:layout_width="match_parent" android:layout_height="match_parent"/> mStackView = (CardStackView) ...

    CardStackView

    Show something like cards with 3 kinds of animations(alldown, updown, updownstack). Two ways to scroll the items:one is scroll normal as listview, other one is scroll to overlap first one.

    Screenshot

    f3b7ce59a65ee7ecf984e0f8c2e7ed57.gif1c2a801664275a50b1dbc9138c43fdec.gif437fe3451006dc958f6c1085f9baf916.gif

    Installation

    dependencies {

    compile 'com.loopeer.library:cardstack:1.0.2'

    }

    Usages

    android:layout_width="match_parent"

    android:layout_height="match_parent"/>

    mStackView = (CardStackView) findViewById(R.id.stackview_main);

    mTestStackAdapter = new TestStackAdapter(this);

    mStackView.setAdapter(mTestStackAdapter);

    mTestStackAdapter.updateData(Arrays.asList(TEST_DATAS));

    License

    Copyright 2016 Loopeer

    Licensed under the Apache License, Version 2.0 (the "License");

    you may not use this file except in compliance with the License.

    You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software

    distributed under the License is distributed on an "AS IS" BASIS,

    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

    See the License for the specific language governing permissions and

    limitations under the License.

    展开全文
  • MaterialRecents 类别: 视图布局 (View Layout) 打分: ★★★★★ ...开发环境: Android Studio 浏览: 1089 次 下载: 189 次 项目地址: https://github.com/ZieIony/MaterialRecen...

    MaterialRecents

     

    Lollipop's Recents container

    介绍:

    一个仿安卓5.0任务管理器最近打开任务卡片效果的自定义布局。

    运行效果:

    使用说明:

    导入

    1
    2
    3
    4
    5
    6
    7
    8
    9
    repositories {
         maven {
             url  "https://jitpack.io"
         }
    }
     
    dependencies {
             compile  'com.github.ZieIony:MaterialRecents:d2aec46f48'
    }

    使用

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
         RecentsList recents = (RecentsList) findViewById(R.id.recents);
         recents.setAdapter( new  RecentsAdapter() {
         @Override
         public String getTitle(int position) {
             return  "Item " +position;
         }
     
         @Override
         public View getView(int position) {
             ImageView iv  = new  ImageView(RecentsActivity. this );
             iv.setImageResource(R.drawable.mazda);
             iv.setBackgroundColor(0xffffffff);
             return  iv;
         }
     
         @Override
         public Drawable getIcon(int position) {
             return  getResources().getDrawable(R.mipmap.ic_launcher);
         }
     
         @Override
         public int getHeaderColor(int position) {
             return  colors[random.nextInt(colors.length)];
         }
     
         @Override
         public int getCount() {
             return  10;
         }

     

    展开全文
  • iOS实现卡片堆叠效果

    2020-08-19 07:29:38
    主要为大家详细介绍了iOS实现卡片堆叠效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • MaterialRecents 一个仿安卓5.0任务管理器最近打开任务卡片效果的自定义布局。 通过ViewPager和 自定义一个RecentsList 来实现。
  • Android 卡片层叠效果

    千次阅读 2017-12-14 16:22:20
    卡片层叠效果的实现:比如探探上的左滑右滑切换图片。 而现在我们要实现的卡片层叠以及滑动删除是通过RecyclerView的ItemTouchHelper工具来实现的,ItemTouchHelper这个工具是对RecyclerView列表的拖动排序和滑动...
  • 安卓期末大作业Android studio,(免积分下载)包含项目源码,项目报告书,任务书,App等等应有尽有,项目导入即可使用。 1.用户点击加号按钮输入单词,键盘会自动弹出并焦点在输入框,用户输入英文和中文释义,...
  • Android设置上圆角和下圆角圆角背景多用于卡片等布局1.正常的圆角代码如下:android:shape="rectangle">android:width=“1dip"android:color="@color/stroke_color” />2.上圆角代码如下:android:shape=...
  • Android层叠式卡片效果实现!(高大上)

    万次阅读 热门讨论 2017-07-04 14:30:40
    实现Android层叠卡片效果如下图!1.我们可以随意方向的拖动这个卡片。 2.我们可以将卡片放在一起显示且有层叠式效果。 3.我们可以将最上层的卡片移除,当移除最底层之后又继续循环开始。 4.我们拖缀图片时候下面图片...
  • 通过使用ViewPage实现Grally画廊的卡片式效果,简单易懂易实现。 之前一直在github与网上搜索资料,查看了很多比如RecyclerView实现画廊的效果,ViewPage实现画廊的效果,但是都没有我想要的既简单又达到我想要的...
  • Android目前假如我们想让应用安全点就是不要在多任务中泄露信息可以怎么做呢?我们有两种体验很差的方式实现,一种是在当前Activity页面添加安全属性: getWindow().setFlags(WindowManager.LayoutParams.FLAG_...
  • Android L后应用的多任务是这样子的,那么应用在这里显示的样式如何修改? 目前我知道卡片顶部背景颜色就是Material Design主题的colorPrimary,而我的应用的主色配黑字很难看,我想要修改这里标题的颜色。 ...
  • 写在前面的几句话上面一篇介绍了下简单的堆叠式布局,但是实现上相对来说还是比较简单,而且效果也并没有特别好,那么这一篇呢,就对堆叠式布局进行更加深入的讲解,主要是通过对子控件的测量和布局,通过这篇的讲解...
  • 基于安卓Android平台的卡片文字识别软件APP的设计(Eclipse)(任务书,开题报告,论文16000字,程序代码)摘 要21世纪的到来,各种科技都得到了日新月异的发展。信息技术的蓬勃发展使得人类进入了物联网的新时代,几乎每个...
  • 面对众多卡片层叠效果,我们的产品童鞋也突发奇想,搞出了另一种卡片层叠切换展示的交互,而且产品狗们居然要求多做几种动效给他们看,好让他们选择,这简直就是要搞事情啊,what are you 弄啥咧?! “哥哥我做不...
  • CardView一般用于需要显示阴影效果的UI,此外...CardView未在androidx全家桶套餐中,需要你自己添加 implementation ‘androidx.cardview:cardview:1.0.0’ 一个简单的使用Demo xml <androidx.constraintlayout.widg
  • 我试图在我的卡片视图中添加圆角和填充,当我有内容填充时,角半径似乎不起作用.这是我目前的XML:xmlns:card_view=...
  • 原标题:谷歌Android P的导航键 多任务UI操作大改!【PConline资讯】据外媒,谷歌AndroidP系统界面截图意外泄露曝光了谷歌许多全新的导航和搜索UI界面元素,与iPhoneX有许多相似的地方。AndroidP不仅在导航栏上使用...
  • 如题,这种效果类似微信小程序显示的效果,就是打开微信跳一跳后,切换安卓任务窗口(就是清理内存窗口),会看到如下页面 多任务图1.jpg 微信小程序会在其中显示两个单独的页面,点击跳一跳会进入跳一跳小程序...
  • 任务卡片式略缩图管理界面联想

    千次阅读 2015-07-27 11:23:12
    任务卡片式略缩图管理界面 的感想 ...结果如果你没有退出程序,别人还可以通过多任务卡片式略缩图管理界面(也就是iPhone的双机home建android的。。不知道咋描述)类似的东西比如短信,在锁屏的情况下
  • HarmonyOS 实战——服务卡片初探索

    多人点赞 热门讨论 2021-08-07 23:36:46
    在刚发布不久的HarmonyOS 2版本的新系统中,【服务卡片】成为一大亮点: 全新的HarmonyOS桌面简洁有序,上滑App生成服务卡片,在桌面即可呈现更丰富的信息。卡片内容实时更新,只需一瞥即可获取所需信息,省去了打开...
  • 重点介绍OtherActivityInputConsumer情况下的多任务卡片的手势运行步骤: 路径:quickstep/recents_ui_overrides/src/com/android/quickstep/TouchInteractionService.java private void initInputMonitor() { //...
  • 1.frameworks/base/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java 为卡片对象 2.1 onBusEvent(final DismissAllTaskViewsEvent event) 进行监听关闭所有的应用 2.2 ...
  • 引言 不知道大家有没有这样的经历,上个月的时候,自己的华为P40手机,一大早起来,由安卓...鸿蒙 HarmonyOS 2.0 操作系统有很多新的特性,包括全新智能终端系统、统一控制中心、超级终端、任务流转、鸿蒙智联、文件互

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,840
精华内容 1,936
关键字:

安卓任务卡片