翻翻git之---不靠画全靠“演”,好看的自定义TextView translucent-android

本文介绍了一种自定义的TextView,通过简单的使用方式和巧妙的实现原理,创造出令人眼前一亮的文本展示效果。无需复杂的渐变或特殊行为,只需通过设置非字体部分的颜色,就能达到类似镂空字填色的视觉效果。原作者利用多个Fragment填充字体内容,并使用图片实现,而实际上,我们可以用一个View来简化这个过程。
摘要由CSDN通过智能技术生成

转载请注明出处:王亟亟的大牛之路

P1:废话部分

上周五又没上班所以没怎么写东西,礼拜5 入了条地图,昨天开食了,有时间再去搞两条别的然后再买个缸(家里的缸,鱼啊别的动物已经好多了。。次哦)0.0 不然他们大了,别的鱼要倒霉了。。。哈哈

白红的那位
这里写图片描述

麦麦:
这里写图片描述

当当:
这里写图片描述

P2:正文

今天贴的是一个自定义的TextView,效果图如下:

这里写图片描述

看上去还是蛮炫目的对不对?
是不是觉得做了渐变的行为等等等之类的实现?

这里卖个关子,先介绍下如何使用,实现等会说一定让你吃鲸(懒人的创作,哈哈哈)

Grade:

dependencies {
    compile 'mallethugo-translucent:translucentlib:1.0.0'
}

EC:

自己Copy吧

这里写图片描述

如何使用??

<com.mallethugo.translucent.TranslucentView
        android:id="@+id/main_translucent"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:text="@string/translucent"
        android:textSize="85sp"
        android:textStyle="bold"
        android:fontFamily="sans-serif-condensed"
        app:translucentBackgroundColor="#000000" />

因为是自定义的TextView所以,TextView的一些属性都能用,字体大小啊粗细啊什么的

额外的标签只有一个 用来设置非字体部分颜色的

我们来看看Activity部分是如何操作的

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        List<Fragment> fragments = new ArrayList<>();

        fragments.add(Fragment.instantiate(this, Fragment1.class.getName()));
        fragments.add(Fragment.instantiate(this, Fragment2.class.getName()));
        fragments.add(Fragment.instantiate(this, Fragment3.class.getName()));
        fragments.add(Fragment.instantiate(this, Fragment4.class.getName()));
        fragments.add(Fragment.instantiate(this, Fragment5.class.getName()));

        TranslucentView translucent = (TranslucentView) findViewById(R.id.main_translucent);
        Display display = getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        int width = size.x;
        int height = size.y;
        translucent.setStartPositions(10, Math.round(height / 2));

        ViewPager viewPager = (ViewPager) findViewById(R.id.main_view_pager);
        PagerAdapter pagerAdapter = new MyPagerAdapter(super.getSupportFragmentManager(), fragments);

        viewPager.setAdapter(pagerAdapter);
    }
}

原来使用了多个Fragment作为字体内容的填充然后效果啊实现啊都是用的图片。

最通俗地说就是“镂空了一些字,然后外面盖一层颜色,里面用图片填充就是这么Easy”

不得不说原作者真是“懒”的可以,哈哈哈。

在我们自己使用的时候完全可以用一个View来解决,那会更方便

这一篇比较简短,毕竟是礼拜一,周一综合症在。。。。之后两天再接着补料吧

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值