MaterialLeanBack, 智能手机和平板电脑的leanback端口

分享于 

5分钟阅读

GitHub

 
A beautiful leanback port for Smartphones and Tablets
  • 源代码名称:MaterialLeanBack
  • 源代码网址:http://www.github.com/florent37/MaterialLeanBack
  • MaterialLeanBack源代码文档
  • MaterialLeanBack源代码下载
  • Git URL:
    git://www.github.com/florent37/MaterialLeanBack.git
    Git Clone代码到本地:
    git clone http://www.github.com/florent37/MaterialLeanBack
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/florent37/MaterialLeanBack
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    MaterialLeanBack

    智能手机和平板电脑的leanback端口

    Android app on Google Play

    screen

    示例 Android app on Google Play

    gif

    用法

    在你的布局中

    <com.github.florent37.materialleanback.MaterialLeanBack
     android:id="@+id/materialLeanBack"android:layout_width="match_parent"android:layout_height="match_parent"app:mlb_background="@color/background"app:mlb_lineSpacing="30dp"app:mlb_paddingBottom="30dp"app:mlb_paddingLeft="30dp"app:mlb_paddingRight="30dp"app:mlb_paddingTop="40dp"app:mlb_titleColor="@android:color/white"/>

    在你的活动/fragment 中

    materialLeanBack.setAdapter(newMaterialLeanBack.Adapter<TestViewHolder>() {
     @OverridepublicintgetLineCount() {
     return10;
     }
     @OverridepublicintgetCellsCount(intline) {
     return10;
     }
     @OverridepublicTestViewHolderonCreateViewHolder(ViewGroupviewGroup, intline) {
     View view =LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.cell_test, viewGroup, false);
     returnnewTestViewHolder(view);
     }
     @OverridepublicvoidonBindViewHolder(TestViewHolderviewHolder, inti) {
     viewHolder.textView.setText("test "+ i);
     String url ="http://www.lorempixel.com/40"+ viewHolder.row +"/40"+ viewHolder.cell +"/";
     Picasso.with(viewHolder.imageView.getContext()).load(url).into(viewHolder.imageView);
     }
     @OverridepublicStringgetTitleForRow(introw) {
     return"Line "+ row;
     }
     @OverridepublicintgetEnlargedItemPosition(intposition) {
     Toast.makeText(MainActivity.this,String.valueOf(position),Toast.LENGTH_LONG).show();
     returnsuper.getEnlargedItemPosition(position);
     }
     });
    可用属性
    <com.github.florent37.materialleanback.MaterialLeanBack
     android:id="@+id/materialLeanBack"android:layout_width="match_parent"android:layout_height="match_parent"app:mlb_lineSpacing="30dp"app:mlb_paddingTop="40dp"app:mlb_paddingBottom="30dp"app:mlb_paddingLeft="30dp"app:mlb_paddingRight="30dp"app:mlb_background="@color/background"app:mlb_backgroundOverlay="0.5"app:mlb_backgroundOverlayColor="#333"app:mlb_titleColor="@android:color/white"app:mlb_titleSize="15sp"app:mlb_overlapCards="true"app:mlb_animateCards="true"app:mlb_cardElevationEnlarged="10"app:mlb_cardElevationReduced="5"/>
    添加自定义视图
    materialLeanBack.setAdapter(newMaterialLeanBack.Adapter<TestViewHolder>() {
     ...usual methods...publicRecyclerView.ViewHoldergetCustomViewForRow(ViewGroupviewgroup, introw) {
     if (row ==3) {
     View view =LayoutInflater.from(viewgroup.getContext()).inflate(R.layout.header, viewgroup, false);
     returnnewRecyclerView.ViewHolder(view) {
     };
     } elsereturnnull;
     }
     @OverridepublicbooleanisCustomView(introw) {
     return row ==3;
     }
     @OverridepublicvoidonBindCustomView(RecyclerView.ViewHolderviewHolder, introw) {
     super.onBindCustomView(viewHolder, row);
     }
    }
    下载

    Buy Me a Coffee at ko-fi.com

    在模块Download

    compile 'com.github.florent37:materialleanback:1.0.2'compile 'com.android.support:cardview-v7:22.2.1'compile 'com.android.support:recyclerview-v7:22.2.1'compile 'com.nineoldandroids:library:2.4.0'
    Credits

    作者:Florent Champigny http://www.florentchampigny.com/

    Android app on Google PlayFollow me on Google+Follow me on TwitterFollow me on LinkedIn

    许可证

    
    Copyright 2015 florent37, Inc.
    
    
    
    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.
    
    
    
    

    tab    bea  平板  智能手机  leanback