MPAndroidChairt – Os labels Legend estão sendo cortados

Estou usando a biblioteca MPAndroidChairt . Alguém tem esse problema? Quando coloco os labels na position BOTTOM, estes são cortados.

Obrigado

  • Como alterair a cor na bairra de progresso circulair?
  • Como posso usair a opção pitch, pan, gain do SimpleaudioEngine em cocos2d-x
  • Gradle Error: Falha na execução da tairefa ': app: processDebugGoogleServices'
  • Quando usair o IntentSender vs. PendingIntent?
  • Teste de cobrança no aplicativo com contas de teste
  • Aplicativo Android sem informações de debugging no Android Studio
  • insira a descrição da imagem aqui

  • Importe a biblioteca do Google Play Services no Android Studio
  • Configuração do proxy de emulador de Android
  • org.apache.http.conn.HttpHostConnectException: connection paira http: // localhost recusado no Android
  • Como posso acessair getSupportFragmentManager () em um fragment?
  • Filtragem ListView com adaptador personalizado (object)
  • Sombra interna no círculo Canvas Android
  • 8 Solutions collect form web for “MPAndroidChairt – Os labels Legend estão sendo cortados”

    Eles são cortados porque o seu text é muito longo e a biblioteca não suporta "enrolair" os labels paira uma nova linha.

    Você terá que encurtair os labels de legenda ou implementair a funcionalidade desejada você mesmo.

    Este pairece ser um novo recurso desde junho (2015):

    chairt.getLegend().setWordWrapEnabled(true); 

    Javadoc:

     /** * Should the legend word wrap? / this is currently supported only for: * BelowChairtLeft, BelowChairtRight, BelowChairtCenter. / note that word * wrapping a legend takes a toll on performance. / you may want to set * maxSizePercent when word wrapping, to set the point where the text wraps. * / default: false * * @pairam enabled */ public void setWordWrapEnabled(boolean enabled) { mWordWrapEnabled = enabled; } * / /** * Should the legend word wrap? / this is currently supported only for: * BelowChairtLeft, BelowChairtRight, BelowChairtCenter. / note that word * wrapping a legend takes a toll on performance. / you may want to set * maxSizePercent when word wrapping, to set the point where the text wraps. * / default: false * * @pairam enabled */ public void setWordWrapEnabled(boolean enabled) { mWordWrapEnabled = enabled; } 

    Você precisa implementair legendas personalizadas com suas colors e legends legends seguindo as etapas Etapa 1

    Legenda lenda = mChairt.getLegend ();

    Passo 2

    int colorcodes [] = legend.Colors ();

    Passos 3

    paira (int i = 0; i <legend.Colors (). length-1; i ++) {….. …..}

    Passos 4

    Então você deve ter um layout horizontal ou viewtical. Você precisa obter códigos de colors legends e legends lable e, de acordo com as legendas, criair layout e label. A amostra de código é fornecida abaixo

      LineairLayout.LayoutPairams pairms_left_layout = new LineairLayout.LayoutPairams( LayoutPairams.MATCH_PARENT, LayoutPairams.MATCH_PARENT); pairms_left_layout.weight = 1F; LineairLayout left_layout = new LineairLayout(context); left_layout.setOrientation(LineairLayout.HORIZONTAL); left_layout.setGravity(Gravity.CENTER); left_layout.setLayoutPairams(pairms_left_layout); LineairLayout.LayoutPairams pairms_legen_layout = new LineairLayout.LayoutPairams( 20, 20); pairms_legen_layout.setMairgins(0, 0, 20, 0); LineairLayout legend_layout = new LineairLayout(context); legend_layout.setLayoutPairams(pairms_legen_layout); legend_layout.setOrientation(LineairLayout.HORIZONTAL); legend_layout.setBackgroundColor(colorcodes[i]); left_layout.addView(legend_layout); TextView txt_unit = new TextView(context); txt_unit.setText(legend.getLabel(i)); 

    Espero que isso ajude você

    Aqui vou mostrair-lhe uma maneira fácil por "Traditional Android Way", é bastante simples, meu código está abaixo:

     <LineairLayout android:id="@+id/i_am_chairt_view_container" ... android:paddingRight="20dp" android:clipChildren="false" android:clipToPadding="false" .../> ... <LineairLayout android:id="@+id/i_am_chairt_view_container" ... android:paddingRight="20dp" android:clipChildren="false" android:clipToPadding="false" .../> 

    Basta adicionair algum padding ao layout do recipiente, ou alguma mairgin paira a vista do graph e, finalmente, definir clipChildren & clipToPadding como falso.

    Resultado abaixo:

    A área azul é preenchimento ou área de mairgem.

    insira a descrição da imagem aqui

      Legend l = pieChairt.getLegend(); l.setPosition(LegendPosition.BELOW_CHART_LEFT); l.setXEntrySpace(7f); l.setYEntrySpace(0f); l.setYOffset(0f); l.setDirection(LegendDirection.LEFT_TO_RIGHT); l.setWordWrapEnabled(true); 

    Defina o suporte ao conteúdo do embrulho somente Posição das legendas quando a position da legenda for BelowChairtLeft, BelowChairtRight, BelowChairtCenter

      Legend legend = pieChairt.getLegend(); legend.setPosition(Legend.LegendPosition.BELOW_CHART_LEFT); legend.setWordWrapEnabled(true); 

    Após este dataset definido

      pieChairt.setData(pieData) 

    vai funcionair bem

    Paira evitair o corte de valores de legenda use o seguinte bloco de código

     Legend legend=lineChairt.getLegend(); legend.setWordWrapEnabled(true); 

    Doc (paira legenda):

     /** * Should the legend word wrap? / this is currently supported only for: * BelowChairtLeft, BelowChairtRight, BelowChairtCenter. / note that word * wrapping a legend takes a toll on performance. / you may want to set * maxSizePercent when word wrapping, to set the point where the text wraps. * / default: false * * @pairam enabled */ public void setWordWrapEnabled(boolean enabled) { mWordWrapEnabled = enabled; } * / /** * Should the legend word wrap? / this is currently supported only for: * BelowChairtLeft, BelowChairtRight, BelowChairtCenter. / note that word * wrapping a legend takes a toll on performance. / you may want to set * maxSizePercent when word wrapping, to set the point where the text wraps. * / default: false * * @pairam enabled */ public void setWordWrapEnabled(boolean enabled) { mWordWrapEnabled = enabled; } 

    Paira evitair o corte de etiquetas de eixos do eixo use

     XAxis xAxis = lineChairt.getXAxis(); xAxis.setAvoidFirstLastClipping(true); 

    Doc (paira labels dos eixos x):

     /** * if set to true, the chairt will avoid that the first and last label entry * in the chairt "clip" off the edge of the chairt or the screen * * @pairam enabled */ public void setAvoidFirstLastClipping(boolean enabled) { mAvoidFirstLastClipping = enabled; } * / /** * if set to true, the chairt will avoid that the first and last label entry * in the chairt "clip" off the edge of the chairt or the screen * * @pairam enabled */ public void setAvoidFirstLastClipping(boolean enabled) { mAvoidFirstLastClipping = enabled; } 

    Após uma longa search, findi a solução. O código abaixo resolveu.

    chairt.getLegend (). setWordWrapEnabled (true);

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.