How to make custom text view in android?

enter image description here

I am developing a layout.i designed for this layout. But the text is not customizable in this view. Everyone will tell me about the library, other directories, please provide me.thanks

+3
source share
3 answers

On Android, there is a setRotation (float) method that you can use

textview.setRotation(float); 

NOTE. This method has been added in API 11.

so if you want to support it, you can use this

 if (Build.VERSION.SDK_INT < 11) { RotateAnimation animation = new RotateAnimation(oldAngel, newAngel); animation.setDuration(100); animation.setFillAfter(true); watermarkText.startAnimation(animation); } else { watermarkText.setRotation(progress); } 

EDIT: Here is my solution:

ojTGx.png

Here is my full activity_main.xml :

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tool="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/colorPrimary"> <RelativeLayout android:id="@+id/item" android:layout_width="200dp" android:layout_height="200dp" android:background="#FFFFFFFF" > <TextView android:layout_width="match_parent" android:layout_height="40dp" android:textColor="#FFFFFFFF" android:text="HP EliteBook 1212x" android:textAlignment="gravity" android:gravity="center" android:background="@color/colorPrimaryDark" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:padding="40dp" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_margin="0dp" android:src="@drawable/laptop"/> <ImageView android:layout_width="175dp" android:layout_height="175dp" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_margin="0dp" android:padding="0dp" android:src="@drawable/triangle"/> <LinearLayout android:id="@+id/prices" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:orientation="vertical" android:padding="7dp" android:rotation="-45.0" android:textAlignment="center"> <TextView android:id="@+id/old_price" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="200$" android:textColor="#FFFFFFFF" /> <TextView android:id="@+id/new_price" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/old_price" android:layout_gravity="center" android:text="400$" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#FFFFFFFF"/> </LinearLayout> </RelativeLayout> </RelativeLayout> 

To create a triangle, create the triangle.xml file in this directory:

 your_app_name/app/src/main/res/drawable 

and enter this code as content:

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <rotate android:fromDegrees="-45" android:toDegrees="0" android:pivotX="150%" android:pivotY="20%" > <shape android:shape="rectangle" > <solid android:color="#ff0000" /> </shape> </rotate> </item> </layer-list> 

In your Java class, MainActivity put:

  TextView oldPrice = (TextView) findViewById(R.id.old_price); oldPrice.setPaintFlags(oldPrice.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); 

to add a drag effect to your old text.

If you have a question, please contact us. Hope this helps.

+1
source

The easiest way to do this:

  <TextView android:id="@+id/rotated" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:background="#AA000F" android:rotation="-50" android:text="ABC" android:textColor="#44CC44" android:textSize="32sp" /> 

You can do this with other layouts or editors.

+1
source

enter image description here TextView has a property. You can turn as your request Please refer to the example below for reference

 <TextView android:id="@+id/won_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:paddingTop="20dp" android:rotation="-45" android:text="@string/won" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="@android:color/white" android:textSize="34sp" /> 
+1
source

All Articles