@Jimbo odpowiedź jest poprawna zdecydowanie działa na moim przypadku na inputText i TextView w języku arabskim od strony prawej do lewej, ale wejście i wyświetlania tekstu wejściowego musiałem dodać także grawitację = „right”
Po dalszej analizie możesz dać androidowi: gravity = "fill_horizontal" strzał. Jest to opisane jako „Zwiększ rozmiar obiektu w poziomie, jeśli to konieczne, aby całkowicie wypełnił swój pojemnik”, ale nie wiem, jak „powiększają” tekst.
CommonsWare
8
android: gravity = "fill_horizontal" też nie działał. Wygląda na to, że Android wcale nie obsługuje uzasadnienia, no cóż :)
@CommonsWare Teraz jakiś właściwy sposób na uzasadnienie tekstu?
John R
1
Człowieku, żyję z ciężkim przeglądaniem stron internetowych, aby to osiągnąć, i uwierzcie mi, mój interfejs użytkownika płacze, aby niektóre nowe rzeczy jeszcze nie zostały dodane do interfejsu API, ponieważ jest to cholernie powolne dla komponentów takich jak czat w widoku listy.
nobalG
156
Odpowiedź @CommonsWare jest poprawna. Android 8.0+ obsługuje „pełne uzasadnienie” (lub po prostu „usprawiedliwienie”, jak to niekiedy określa się niejednoznacznie).
System Android obsługuje także „Wyrównanie tekstu do lewej / prawej strony”. Zobacz artykuł w Wikipedii na temat uzasadnienia tego rozróżnienia. Wiele osób uważa, że pojęcie „justowania” obejmuje pełne justowanie, a także wyrównanie tekstu do lewej / prawej strony, czego szukają, kiedy chcą wyrównać tekst do lewej / prawej strony. Ta odpowiedź wyjaśnia, jak osiągnąć wyrównanie tekstu do lewej / prawej.
Możliwe jest wyrównanie tekstu do lewej / prawej strony (w przeciwieństwie do pełnego justowania, o jakie pyta pytanie). Aby to zademonstrować, użyję podstawowego 2-kolumnowego formularza (etykiety w lewej kolumnie i pola tekstowe w prawej kolumnie) jako przykład. W tym przykładzie tekst na etykietach w lewej kolumnie zostanie wyrównany do prawej, dzięki czemu będą wyglądać na wyrównane z polami tekstowymi w prawej kolumnie.
W układzie XML można ustawić same elementy TextView (lewa kolumna), aby wyrównać do prawej, dodając następujący atrybut do wszystkich TextViews:
Jeśli jednak tekst zostanie zawinięty w wiele wierszy, tekst nadal będzie wyrównany do lewej w wyrównaniu w TextView. Dodanie następującego atrybutu powoduje wyrównanie tekstu w prawo z wyrównaniem do prawej (nierówny do lewej) w TextView:
Zatem atrybut grawitacji określa sposób wyrównywania tekstu wewnątrz TextView układ_grawitacyjny określa sposób wyrównywania / układu samego elementu TextView .
Jeśli dobrze rozumiem i biorąc pod uwagę wyniki tego testu, wszystko to wyrównuje tekst w lewo lub w prawo. To nie usprawiedliwia tekstu, prawda?
Paul Lammertsma
14
Świetny. Wystarczy dodać, jeśli chcesz wyśrodkować uzasadnienie, możesz to zrobić android:layout_gravity="center_horizontal|center"android:gravity="center".
Luis A. Florit,
zdecydowanie działa na moim przypadku na inputText i TextView dla języka arabskiego, od prawej do lewej wejście i wyświetlacza
Shareef
1
To tylko wyrównanie, a nie uzasadnienie. Przeczytaj uważnie ten link do Wikipedii. Różnica między różnymi rodzajami uzasadnienia wpływa tylko na ostatni wiersz akapitu. Nie ma uzasadnienia dla lewego / prawego / środkowego akapitu, który ma tylko jedną linię.
Karu
dlaczego więc w ogóle odpowiedzieć na to pytanie, jeśli nie chodzi o użytkownikajustify
<stringname="hello">
<![CDATA[
<html><head></head><bodystyle="text-align:justify;color:gray;background-color:black;">
Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nunc pellentesque, urna
nec hendrerit pellentesque, risus massa
</body></html>
]]>
</string>
Nie mogę jeszcze przesłać zdjęć, aby to udowodnić, ale „to działa dla mnie”.
Ładne rozwiązanie tutaj. FWIW nie potrzebujesz większości dodatkowego html. Wystarczy znacznik body z wyrównaniem tekstu.
gnac
5
To działa dobrze. Pamiętaj, że możesz ustawić przezroczystość tła, postępując zgodnie view.loadData()z view.setBackgroundColor("#00000000").
Paul Lammertsma,
Nie udało mi się jednak załadować niestandardowej czcionki / kroju pisma. Próbowałem tego i tej sugestii, bez powodzenia.
Paul Lammertsma,
2
Jak wspomniałem w tych wątkach, znalazłem rozwiązanie: jeśli utworzysz plik HTML i umieścisz go w zasobach, wczytujesz go za pomocą view.loadUrl()utworów, podczas view.loadData()gdy nie. Nie mam pojęcia, dlaczego to drugie nie.
Paul Lammertsma
1
@PaulLammertsma, setBackgroundColor (0x00000000) wolałby być prawidłowym formatem do ustawiania przezroczystego tła.
richey
100
AKTUALIZACJA
Stworzyliśmy do tego prostą klasę. Obecnie istnieją dwie metody osiągnięcia tego, czego szukasz. Oba nie wymagają WEBVIEW i WSPIERA SPANNABLES .
To naprawdę pomoc, ale używając go, moje TextViews nie zachowują oryginalnego formatu, odnawiam: marginesy, styl tekstu i myślę, że rozmiar tekstu, Plese nadal w nim pracuje, powinien być naprawdę świetną pomocą
Leonardo Sapuy
Cóż, nie mogę ustanowić tych klas. jeden z nich nie miał żadnej nazwy pakietu, drugi daje żółty błąd. Właściwie nie mogę ufać.
mehmet
Niezła biblioteka, ale wciąż nie wiem, jak dodać formatowanie do tekstu za pomocą tej biblioteki.
Semanticer
4
Dzięki za świetną wspólną bibliotekę, ale nie obsługuje tekstu perskiego ani arabskiego. Kiedy ustalam kierunek, moje słowo rysuje od początku do początku, zamiast od początku do końca. Mam na myśli to: moje Słowo brzmi: „سلام” i jego losowanie jest następujące: „مالس”. (jeśli nie rozumiesz perskiego, zobacz ten przykład: pozwól mi „1234” -> „4321”)
Naruto Uzumaki,
1
Oparte na scrollView ... Ładne rozwiązanie, ale nie mogę znaleźć jeszcze żadnej odpowiedzi, która umożliwiłaby użycie widoku tekstowego. :(
superUser
88
TextVieww Android Oofertach samo pełne uzasadnienie (nowe wyrównanie typograficzne).
Miejmy nadzieję, że zostanie przeniesiony z powrotem do biblioteki wsparcia, a następnie O :)
Stefan Haustein
2
proszę tutaj dodać bibliotekę !!
Kunal Dharaiya
4
jak uzasadnić za pomocą XML?
Vikash Parajuli
14
Możesz użyć Androida: justificationMode = "inter_word" w xml.
Christian D
5
API 26 wymagany dla Androida: justificationMode.
Bink
42
Możesz użyć projektu JustifiedTextView dla Androida w github. jest to widok niestandardowy, który symuluje dla Ciebie wyjustowany tekst. Obsługuje Android 2.0+ i języki od prawej do lewej.
cześć Saeed, tnx za twoją pomoc, czy jest jakiś sposób na obsługę przeglądalnych tekstów ?!
Hamid Reza
@SaeedZarinfam Próbowałem użyć „JustifiedTextView dla Androida”, ale dostałem błąd w tagu xml ir.noghteh.JustifiedTextView udzieliłbym pomocy, aby pomóc mi w tym pytaniu stackoverflow.com/questions/37911376/...
Jumong
30
Piszę widget na podstawie natywnego widoku tekstu, aby to zrobić.
Poleciłem ten, głównie dlatego, że opiera się on na oryginalnym widoku tekstu z oficjalnego sdk Androida, który moim zdaniem jest znacznie lżejszy niż technika podglądu, którą wiele osób publikuje na ten temat. Jeśli budujesz aplikację, która wymaga pamięci, na przykład używając obiektów listy, możesz rozważyć użycie czegoś takiego. Ï już to wypróbuj i działa zgodnie z oczekiwaniami. Jeśli ludzie znają inną, taką jak ta 1, proszę podzielić się ze mną swoimi doświadczeniami.
superUser
Dobra robota btw. Czego szukałem.
superUser
5
nie obsługuje języków RTL takich jak perski
odpal w dziurze
1
@Frank Cheng Bardzo przydatna biblioteka. Dostaję dużo miejsca na końcu akapitu. Jak mogę to naprawić?
iSrinivasan27,
1
działało dla mnie, ale ostatnia linia widoku tekstu została odcięta. Musiałem utrzymać padding 5 dla podglądu tekstu.
TharakaNirmana
23
Znalazłem sposób na rozwiązanie tego problemu, ale może to nie być bardzo łaska, ale efekt nie jest zły.
Jego zasadą jest zamiana spacji każdej linii na ImageSpan o stałej szerokości (kolor jest przezroczysty).
WebView view =(WebView) findViewById(R.id.textContent);String text;
text ="<html><body><p align=\"justify\">";
text+="This is the text will be justified when displayed!!!";
text+="</p></body></html>";
view.loadData(text,"text/html","utf-8");
To może rozwiązać problem. W pełni działało dla mnie.
Oto jak to zrobiłem, myślę, że najbardziej elegancki sposób, w jaki mogłem. Dzięki temu rozwiązaniu jedyne rzeczy, które musisz zrobić w swoich układach to:
dodaj dodatkową xmlnsdeklarację
Zmień swoje TextView źródłową przestrzeń nazw tekstu z Androida na nową
zastąpić TextViewszx.y.z.JustifiedTextView
Oto kod. Działa idealnie na moich telefonach (Galaxy Nexus Android 4.0.2, Galaxy Teos Android 2.1). Oczywiście nie krępuj się i zastąp moją nazwę paczki nazwą swoją.
/assets/justified_textview.css :
body {
font-size:1.0em;
color: rgb(180,180,180);
text-align: justify;}@media screen and(-webkit-device-pixel-ratio:1.5){/* CSS for high-density screens */
body {
font-size:1.05em;}}@media screen and(-webkit-device-pixel-ratio:2.0){/* CSS for extra high-density screens */
body {
font-size:1.1em;}}
To rozwiązanie oparte na webView. Każdy odkrył, że jest oparty na widoku tekstu, biorąc pod uwagę, że widok tekstu jest lżejszy niż przeglądanie stron internetowych i przewijanie.
Mimo że nadal nie uzupełniasz wyjustowanego tekstu, możesz teraz wyrównywać długości linii, używając android:breakStrategy="balanced"interfejsu API 23 lub nowszego
Dodaj powyższą klasę do folderu src i użyj tego przykładowego kodu, aby dodać do swojego układu:
JustifiedTextView jtv=newJustifiedTextView(getApplicationContext(),"Lorem ipsum dolor sit amet... ");LinearLayout place =(LinearLayout) findViewById(R.id.book_profile_content);
place.addView(jtv);
publicclassTextViewExextendsTextView{privatePaint paint =newPaint();privateString[] blocks;privatefloat spaceOffset =0;privatefloat horizontalOffset =0;privatefloat verticalOffset =0;privatefloat horizontalFontOffset =0;privatefloat dirtyRegionWidth =0;privateboolean wrapEnabled =false;int left, top, right, bottom =0;privateAlign _align =Align.LEFT;privatefloat strecthOffset;privatefloat wrappedEdgeSpace;privateString block;privateString wrappedLine;privateString[] lineAsWords;privateObject[] wrappedObj;privateBitmap cache =null;privateboolean cacheEnabled =false;publicTextViewEx(Context context,AttributeSet attrs,int defStyle){super(context, attrs, defStyle);// set a minimum of left and right padding so that the texts are not too// close to the side screen// this.setPadding(10, 0, 10, 0);}publicTextViewEx(Context context,AttributeSet attrs){super(context, attrs);// this.setPadding(10, 0, 10, 0);}publicTextViewEx(Context context){super(context);// this.setPadding(10, 0, 10, 0);}@Overridepublicvoid setPadding(int left,int top,int right,int bottom){// TODO Auto-generated method stubsuper.setPadding(left +10, top, right +10, bottom);}@Overridepublicvoid setDrawingCacheEnabled(boolean cacheEnabled){this.cacheEnabled = cacheEnabled;}publicvoid setText(String st,boolean wrap){
wrapEnabled = wrap;super.setText(st);}publicvoid setTextAlign(Align align){
_align = align;}@SuppressLint("NewApi")@Overrideprotectedvoid onDraw(Canvas canvas){// If wrap is disabled then,// request original onDrawif(!wrapEnabled){super.onDraw(canvas);return;}// Active canas needs to be set// based on cacheEnabledCanvas activeCanvas =null;// Set the active canvas based on// whether cache is enabledif(cacheEnabled){if(cache !=null){// Draw to the OS provided canvas// if the cache is not empty
canvas.drawBitmap(cache,0,0, paint);return;}else{// Create a bitmap and set the activeCanvas// to the one derived from the bitmap
cache =Bitmap.createBitmap(getWidth(), getHeight(),Config.ARGB_4444);
activeCanvas =newCanvas(cache);}}else{// Active canvas is the OS// provided canvas
activeCanvas = canvas;}// Pull widget properties
paint.setColor(getCurrentTextColor());
paint.setTypeface(getTypeface());
paint.setTextSize(getTextSize());
paint.setTextAlign(_align);
paint.setFlags(Paint.ANTI_ALIAS_FLAG);// minus out the paddings pixel
dirtyRegionWidth = getWidth()- getPaddingLeft()- getPaddingRight();int maxLines =Integer.MAX_VALUE;int currentapiVersion = android.os.Build.VERSION.SDK_INT;if(currentapiVersion >= android.os.Build.VERSION_CODES.JELLY_BEAN){
maxLines = getMaxLines();}int lines =1;
blocks = getText().toString().split("((?<=\n)|(?=\n))");
verticalOffset = horizontalFontOffset = getLineHeight()-0.5f;// Temp// fix
spaceOffset = paint.measureText(" ");for(int i =0; i < blocks.length && lines <= maxLines; i++){
block = blocks[i];
horizontalOffset =0;if(block.length()==0){continue;}elseif(block.equals("\n")){
verticalOffset += horizontalFontOffset;continue;}
block = block.trim();if(block.length()==0){continue;}
wrappedObj =TextJustifyUtils.createWrappedLine(block, paint,
spaceOffset, dirtyRegionWidth);
wrappedLine =((String) wrappedObj[0]);
wrappedEdgeSpace =(Float) wrappedObj[1];
lineAsWords = wrappedLine.split(" ");
strecthOffset = wrappedEdgeSpace !=Float.MIN_VALUE ? wrappedEdgeSpace
/(lineAsWords.length -1):0;for(int j =0; j < lineAsWords.length; j++){String word = lineAsWords[j];if(lines == maxLines && j == lineAsWords.length -1){
activeCanvas.drawText("...", horizontalOffset,
verticalOffset, paint);}elseif(j ==0){// if it is the first word of the line, text will be drawn// starting from right edge of textviewif(_align ==Align.RIGHT){
activeCanvas.drawText(word, getWidth()-(getPaddingRight()), verticalOffset, paint);// add in the paddings to the horizontalOffset
horizontalOffset += getWidth()-(getPaddingRight());}else{
activeCanvas.drawText(word, getPaddingLeft(),
verticalOffset, paint);
horizontalOffset += getPaddingLeft();}}else{
activeCanvas.drawText(word, horizontalOffset,
verticalOffset, paint);}if(_align ==Align.RIGHT)
horizontalOffset -= paint.measureText(word)+ spaceOffset
+ strecthOffset;else
horizontalOffset += paint.measureText(word)+ spaceOffset
+ strecthOffset;}
lines++;if(blocks[i].length()>0){
blocks[i]= blocks[i].substring(wrappedLine.length());
verticalOffset += blocks[i].length()>0? horizontalFontOffset
:0;
i--;}}if(cacheEnabled){// Draw the cache onto the OS provided// canvas.
canvas.drawBitmap(cache,0,0, paint);}}}
Na Androidzie, aby po lewej stronie wyjustować tekst i nie mieć obcięcia koloru tła, spróbuj tego, działało to dla mnie, dając spójne wyniki na Androidzie, FF, tj. & Chrome, ale musisz zmierzyć miejsce, które pozostało pomiędzy tekstem przy obliczaniu wypełnienia.
Android nie obsługuje jeszcze pełnego uzasadnienia. Możemy korzystać z Webview i uzasadniać HTML zamiast z textview. Działa tak dobrze. Jeśli nie macie jasności, zapytajcie mnie :)
Nie, to wyśrodkowuje tekst. To nie usprawiedliwia tego. Cytując Wikipedię : „W uzasadnionym tekście odstępy między słowami oraz, w mniejszym stopniu, między glifami lub literami (kerning), są rozciągnięte lub czasem skompresowane w celu wyrównania tekstu z lewym i prawym marginesem”.
CommonsWare
tekst nie jest uzasadniony twoim kodem, ale wyśrodkuj go poziomo
Odpowiedzi:
Nie wierzę, że Android obsługuje pełne uzasadnienie.
AKTUALIZACJA 01.01.2018 : Android 8.0+ obsługuje tryby justowania z
TextView
.źródło
Odpowiedź @CommonsWare jest poprawna. Android 8.0+ obsługuje „pełne uzasadnienie” (lub po prostu „usprawiedliwienie”, jak to niekiedy określa się niejednoznacznie).
System Android obsługuje także „Wyrównanie tekstu do lewej / prawej strony”. Zobacz artykuł w Wikipedii na temat uzasadnienia tego rozróżnienia. Wiele osób uważa, że pojęcie „justowania” obejmuje pełne justowanie, a także wyrównanie tekstu do lewej / prawej strony, czego szukają, kiedy chcą wyrównać tekst do lewej / prawej strony. Ta odpowiedź wyjaśnia, jak osiągnąć wyrównanie tekstu do lewej / prawej.
Możliwe jest wyrównanie tekstu do lewej / prawej strony (w przeciwieństwie do pełnego justowania, o jakie pyta pytanie). Aby to zademonstrować, użyję podstawowego 2-kolumnowego formularza (etykiety w lewej kolumnie i pola tekstowe w prawej kolumnie) jako przykład. W tym przykładzie tekst na etykietach w lewej kolumnie zostanie wyrównany do prawej, dzięki czemu będą wyglądać na wyrównane z polami tekstowymi w prawej kolumnie.
W układzie XML można ustawić same elementy TextView (lewa kolumna), aby wyrównać do prawej, dodając następujący atrybut do wszystkich TextViews:
Jeśli jednak tekst zostanie zawinięty w wiele wierszy, tekst nadal będzie wyrównany do lewej w wyrównaniu w TextView. Dodanie następującego atrybutu powoduje wyrównanie tekstu w prawo z wyrównaniem do prawej (nierówny do lewej) w TextView:
Zatem atrybut grawitacji określa sposób wyrównywania tekstu wewnątrz TextView układ_grawitacyjny określa sposób wyrównywania / układu samego elementu TextView .
źródło
android:layout_gravity="center_horizontal|center"
android:gravity="center"
.justify
Aby uzasadnić tekst w Androidzie, użyłem WebView
i HTML.
Nie mogę jeszcze przesłać zdjęć, aby to udowodnić, ale „to działa dla mnie”.
źródło
view.loadData()
zview.setBackgroundColor("#00000000")
.view.loadUrl()
utworów, podczasview.loadData()
gdy nie. Nie mam pojęcia, dlaczego to drugie nie.AKTUALIZACJA
Stworzyliśmy do tego prostą klasę. Obecnie istnieją dwie metody osiągnięcia tego, czego szukasz. Oba nie wymagają WEBVIEW i WSPIERA SPANNABLES .
BIBLIOTEKA : https://github.com/bluejamesbond/TextJustify-Android
WSPIERA : Android 2.0 do 5.X
USTAWIAĆ
ZRZUT EKRANU
źródło
TextView
wAndroid O
ofertach samo pełne uzasadnienie (nowe wyrównanie typograficzne).Musisz tylko to zrobić:
Kotlin
Jawa
domyślnie jest
JUSTIFICATION_MODE_NONE
.źródło
Możesz użyć projektu JustifiedTextView dla Androida w github. jest to widok niestandardowy, który symuluje dla Ciebie wyjustowany tekst. Obsługuje Android 2.0+ i języki od prawej do lewej.
źródło
Piszę widget na podstawie natywnego widoku tekstu, aby to zrobić.
github
źródło
Znalazłem sposób na rozwiązanie tego problemu, ale może to nie być bardzo łaska, ale efekt nie jest zły.
Jego zasadą jest zamiana spacji każdej linii na ImageSpan o stałej szerokości (kolor jest przezroczysty).
Umieszczam kod na GitHub: https://github.com/twiceyuan/TextJustification
Przegląd:
źródło
Układ XML: deklaruj WebView zamiast TextView
Kod Java: ustaw dane tekstowe na WebView
To może rozwiązać problem. W pełni działało dla mnie.
źródło
Oto jak to zrobiłem, myślę, że najbardziej elegancki sposób, w jaki mogłem. Dzięki temu rozwiązaniu jedyne rzeczy, które musisz zrobić w swoich układach to:
xmlns
deklaracjęTextView
źródłową przestrzeń nazw tekstu z Androida na nowąTextView
szx.y.z.JustifiedTextView
Oto kod. Działa idealnie na moich telefonach (Galaxy Nexus Android 4.0.2, Galaxy Teos Android 2.1). Oczywiście nie krępuj się i zastąp moją nazwę paczki nazwą swoją.
/assets/justified_textview.css :
/res/values/attrs.xml :
/res/layout/test.xml :
/src/net/bicou/myapp/widget/JustifiedTextView.java :
Musimy ustawić renderowanie na oprogramowanie, aby uzyskać przezroczyste tło na Androidzie 3+. Stąd try-catch dla starszych wersji Androida.
Mam nadzieję że to pomoże!
PS: nie należy dodawać tego do całej aktywności na Androidzie 3+, aby uzyskać oczekiwane zachowanie:
android:hardwareAccelerated="false"
źródło
Bardzo proste Możemy to zrobić w pliku xml
źródło
Mimo że nadal nie uzupełniasz wyjustowanego tekstu, możesz teraz wyrównywać długości linii, używając
android:breakStrategy="balanced"
interfejsu API 23 lub nowszegohttp://developer.android.com/reference/android/widget/TextView.html#attr_android:breakStrategy
źródło
Piszę własną klasę, aby rozwiązać ten problem. Tutaj wystarczy wywołać funkcję justowania statycznego, która przyjmuje dwa argumenty
//Główna aktywność
// TextJustificationClass
// XML
źródło
FILL_HORIZONTAL
jest równoważne zCENTER_HORIZONTAL
. Możesz zobaczyć ten fragment kodu w kodzie źródłowym textview:źródło
Dla tego problemu istnieje CustomView, ten niestandardowy widok tekstu obsługuje Widok uzasadnionego tekstu.
Łup na to: JustifiedTextView
Dodaj powyższą klasę do folderu src i użyj tego przykładowego kodu, aby dodać do swojego układu:
źródło
patrz tutaj na githubie
Wystarczy zaimportować dwa pliki „TextJustifyUtils.java” i „TextViewEx.java” do swojego projektu.
i
Teraz, jeśli używasz normalnego tekstu, zobacz:
Po prostu użyj
Zdefiniuj zmienną i ustaw justify to true,
źródło
Android Text Justify For TextView XML
Po prostu uzasadnij tekst za pomocą Androida w XML. Możesz po prostu zaimplementować w widżecie widoku tekstu.
Domyślnie jest
android:justificationMode="none"
źródło
Myślę, że są dwie opcje:
Użyj czegoś takiego jak Pango, który specjalizuje się w tym za pośrednictwem NDK i renderuj tekst na OpenGL lub innej powierzchni.
Użyj Paint.measureText () i znajomych, aby uzyskać długości słów i ułożyć je ręcznie na kanwie w widoku niestandardowym.
źródło
Na Androidzie, aby po lewej stronie wyjustować tekst i nie mieć obcięcia koloru tła, spróbuj tego, działało to dla mnie, dając spójne wyniki na Androidzie, FF, tj. & Chrome, ale musisz zmierzyć miejsce, które pozostało pomiędzy tekstem przy obliczaniu wypełnienia.
Włamanie polega na
padding-right:1000px;
popychaniu tekstu do skrajnej lewej strony.Każda próba opuszczenia lub uzasadnienia kodu w css lub html powoduje, że tło ma tylko połowę szerokości.
źródło
W przypadku formatowania HTML nie musisz dzwonić do Webkita, możesz to
Html.fromHtml(text)
zrobić.Źródło: http://developer.android.com/guide/topics/resources/string-resource.html
źródło
Android nie obsługuje jeszcze pełnego uzasadnienia. Możemy korzystać z Webview i uzasadniać HTML zamiast z textview. Działa tak dobrze. Jeśli nie macie jasności, zapytajcie mnie :)
źródło
WebView
transparent
. Mam obraz tła.Wypróbuj to rozwiązanie w poniższym linku, po prostu utwórz tę klasę w folderze projektu i użyj jej. działa dla mnie dobrze :)
Czy uzasadniać tekst w aplikacji na Androida za pomocą WebView, ale prezentując interfejs podobny do TextView?
źródło
TextView Content Uzasadnienie: Łatwi faceci po prostu używają Androida: justificationMode = "inter_word" w tagu TextView.
źródło
Spróbuj użyć <
RelativeLayout >
(upewniając się, że fill_parent), a następnie po prostu dodajandroid:layout_alignParentLeft="true"
iandroid:layout_alignParentRight="true"
do elementów, które chcesz na zewnątrz LEWO i PRAWO.BLAM, uzasadnione!
źródło
Musisz ustawić
i
źródło
To tak naprawdę nie usprawiedliwia twojego tekstu, ale
to najlepszy wybór, jaki masz.
źródło