values/styles.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="ButtonStyle"> <item name="android:layout_width">200dp</item> <item name="android:layout_height">wrap_content</item> <item name="android:padding">10dp</item> <item name="android:textSize">20sp</item> <item name="android:textAllCaps">false</item> <item name="android:layout_gravity">center</item> <item name="android:layout_marginBottom">10dp</item> </style> </resources> |
activity_main.xml
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <ImageView android:id="@+id/image_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginBottom="50dp" android:src="@drawable/direction" /> <EditText android:id="@+id/text_angle" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginBottom="10dp" android:gravity="center" android:hint="Custom Angle (+ OR -)" android:text="180" /> <Button android:id="@+id/button_rotate" style="@style/ButtonStyle" android:layout_marginBottom="50dp" android:text="Rotate" /> <Button android:id="@+id/button_flip_horz" style="@style/ButtonStyle" android:text="Flip Horizontal" /> <Button android:id="@+id/button_flip_vert" style="@style/ButtonStyle" android:text="Flip Vertical" /> </LinearLayout> |
MainActivity.java
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 30 31 32 33 34 35 36 37 38 39 40 41 |
package com.phaisarn.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ImageView mImage = findViewById(R.id.image_view); findViewById(R.id.button_rotate).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { EditText textAngle = findViewById(R.id.text_angle); int angle = Integer.valueOf(textAngle.getText().toString()); mImage.animate().rotationBy(angle).setDuration(2000).start(); } }); findViewById(R.id.button_flip_vert).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mImage.animate().rotationXBy(180).setDuration(2000).start(); } }); findViewById(R.id.button_flip_horz).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mImage.animate().rotationYBy(180).setDuration(2000).start(); } }); } } |
ภาพที่ใช้