当前位置:天才代写 > tutorial > 安卓教程 > Android 5.x特性概览五

Android 5.x特性概览五

2021-03-02 15:24 星期二 所属: 安卓教程 浏览:701

  上节,详细介绍Material Design 对黑影实际效果的完成,这节,大家来详细介绍Android 5.x的上色与剪裁的特点。

  Android 5.X 在对图象的实际操作上提升大量的作用,下边讨论一下 Android 5.X 的2个对实际操作图像的新作用——Tinting(上色)和 Clipping(剪裁)。

  1.Trinting(上色)

   本例,根据对图片上色,使大伙儿对上色有一个非常好的了解。相对的源码可以看下面:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:elevation="5dip"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:elevation="5dip"
        android:src="@drawable/ic_launcher"
        android:tint="@android:color/holo_blue_bright" />

    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:elevation="5dip"
        android:src="@drawable/ic_launcher"
        android:tint="@android:color/holo_blue_bright"
        android:tintMode="add" />

    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:elevation="5dip"
        android:src="@drawable/ic_launcher"
        android:tint="@android:color/holo_blue_bright"
        android:tintMode="multiply" />

</LinearLayout>

  而上边的编码,运作的设计效果图,则以下所显示:

  针对上色,我们可以获得那样的小结:Tinting 的应用比较简单,只需在 XML 中配备好 tint 和 tintMode 就可以了。如同所述事例,不一样tint与tintmode组成起來照片就表明出不一样的实际效果。此外,Tint 还能够根据改动图象的 Alpha 蒙版来改动图象的色调,进而做到再次上色的目地。这一作用在一些图象处理 App 中应用起來将十分便捷。

  2.Clipping(剪裁)

  Clipping,即剪裁。应用剪裁的基础流程为大家 首 先 使 用ViewOutlineProvider 来改动 outline,随后再根据 setOutlineProvider 将 outline 功效给主视图。大家根据以下一个事例来了解clipping(剪裁)。

  这一事例为将一个正方形的 TextView 根据 Clipping 剪裁变成一个圆弧方形和一个圆,为此来协助大伙儿了解 Clipping 的应用构思,XML 编码请见下文。

  

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <TextView
        android:id="@ id/tv_rect"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:layout_marginTop="20dp"
        android:elevation="1dip" />

    <TextView
        android:id="@ id/tv_circle"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_gravity="center"
        android:elevation="1dip" />

</LinearLayout>

  而设定的是环形還是矩形框的java编码以下:

  

public class MainActivity extends Activity {

    private TextView tv_rect;
    private TextView tv_circle;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        tv_rect = (TextView) findViewById(R.id.tv_rect);
        tv_circle = (TextView) findViewById(R.id.tv_circle);
        ViewOutlineProvider viewOutlineProvider1 = new ViewOutlineProvider() {

            @Override
            public void getOutline(View view, Outline outline) {
                outline.setRect(0, 0, view.getWidth(), view.getHeight());
            }
        };
        ViewOutlineProvider viewOutlineProvider2 = new ViewOutlineProvider() {

            @Override
            public void getOutline(View view, Outline outline) {
                outline.setOval(0, 0, view.getWidth(), view.getHeight());
            }
        };
        tv_circle.setOutlineProvider(viewOutlineProvider2);
        tv_rect.setOutlineProvider(viewOutlineProvider1);

    }
}

  左思右想始出去,刮起你的盖头来。最后运作实际效果以下所显示:

  这就是对Android 5.x剪裁与上色的详细介绍。

 

    关键字:

天才代写-代写联系方式