2017-05-19 5 views
0

J'utilise un TextView qui doit tourner à un angle de 35 degrés. J'ai réussi à créer une vue de texte pivotée mais je ne peux pas remplir l'écran complet. Fondamentalement, je veux terminer 2 objectifs-Rotation Textview ne couvrant pas la page entière

1) Faire l'textview occupe tout l'écran

actuellement, elle manifeste comme this- [

Je veux remplir l'espace laissé en haut à gauche coin. J'ai couvert les trois autres coins à l'aide de la réponse de @ Alexandre. @Merci Alexandre.

CustomTextView.java

public class CustomTextView extends android.support.v7.widget.AppCompatTextView { 
public CustomTextView(Context context) { 
    super(context); 

} 

public CustomTextView(Context context, AttributeSet attrs) { 
    super(context, attrs); 

} 

public CustomTextView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 

} 

@Override 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
    setMeasuredDimension(widthMeasureSpec*2, heightMeasureSpec*3); 
} 
} 

Mise en page

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/linearLayout" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_alignParentBottom="true" 
android:layout_alignParentTop="true" 
android:layout_alignParentLeft="true" 
android:layout_alignParentStart="true" 
android:orientation="vertical"> 

    <com.dakshansh.partytimevendorsapp.CustomTextView 
    android:id="@+id/text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:rotation="-35" 
    <!--Hope I don't need to change text.Text is too much more.--> 
    android:text="Galleries" /> 
</LinearLayout> 

2) rendre le texte justifié

Comme vous pouvez voir mon texte est aligné à gauche & que je j'essaie de créer un modèle, il faudrait que le texte soit justifié

Répondre

1

Une solution serait de créer un CustomTextView qui étend TextView overriding [onMeasure] (https://developer.android.com/reference/android/view/View.html#onMeasure(int, int)).

Par exemple:

@Override 
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
    setMeasuredDimension(widthMeasureSpec*2, heightMeasureSpec*2); 
} 

Cela rendrait votre textView 4 fois plus remplir les espaces blancs.

PS: Je n'ai pas essayé ce code.

+0

Il l'a fait mais partiellement, tout l'espace vide sur le dessus a été bien couvert mais il reste de l'espace dans le fond –

+1

Vous pouvez essayer de définir des marges négatives à votre vue pour remplir les espaces vides. –

+0

Merci beaucoup @Alexandre –