2016-07-18 6 views
1

Существует что-то я не знаю, почему я поставилПочему я могу установить цвет статуса?

android:theme="@style/AppTheme" 

В AndroidManifest.xml

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".DetailActivity" 
     android:parentActivityName=".MainActivity"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value=".MainActivity" /> 
    </activity> 
    <activity android:name=".LineChartActivity1"></activity> 
    <activity android:name=".RealtimeLineChartActivity"> 
    <!--android:theme="@style/AppTheme"--> 

    </activity> 
    <activity android:label="@string/app_name" 
     android:theme="@style/AppTheme" 
     android:name=".Add_arg_activity"/> 
</application> 

И XML-RealtimeLineChartActivity является

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:theme="@style/AppTheme"> 

<com.github.mikephil.charting.charts.LineChart 
    android:id="@+id/chart1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

Но! Экран выглядит так ... Мне очень жаль об этом изображении, я не хватает точек в stackoverflow.

The main activity screen shot

The second activity screen shot(RealtimeLineChartActivity)

Как вы можете увидеть цвет в картинке, второй один белый, а первый из них является то, что я хочу, который применяется в

@style/AppTheme 

I не делай почему. Пожалуйста, дай мне что-нибудь полезное, я проверил много информации.

Это второй код с деятельности:

public class RealtimeLineChartActivity extends DemoBase implements 
OnChartValueSelectedListener { 

private LineChart mChart; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.activity_realtime_linechart); 
    SystemBarTintManager tintManager = new SystemBarTintManager(this); 
    tintManager.setStatusBarTintResource(R.color.dark_grey); 
    tintManager.setStatusBarTintEnabled(true); 

    mChart = (LineChart) findViewById(R.id.chart1); 
    mChart.setOnChartValueSelectedListener(this); 

    // no description text 
    mChart.setDescription(""); 
    mChart.setNoDataTextDescription("You need to provide data for the chart."); 

    // enable touch gestures 
    mChart.setTouchEnabled(true); 

    // enable scaling and dragging 
    mChart.setDragEnabled(true); 
    mChart.setScaleEnabled(true); 
    mChart.setDrawGridBackground(false); 

    // if disabled, scaling can be done on x- and y-axis separately 
    mChart.setPinchZoom(true); 

    // set an alternative background color 
    mChart.setBackgroundColor(Color.LTGRAY); 

    LineData data = new LineData(); 
    data.setValueTextColor(Color.WHITE); 

    // add empty data 
    mChart.setData(data); 

    Typeface tf = Typeface.createFromAsset(getAssets(), "OpenSans-Regular.ttf"); 

    // get the legend (only possible after setting data) 
    Legend l = mChart.getLegend(); 

    // modify the legend ... 
    // l.setPosition(LegendPosition.LEFT_OF_CHART); 
    l.setForm(LegendForm.LINE); 
    l.setTypeface(tf); 
    l.setTextColor(Color.WHITE); 

    XAxis xl = mChart.getXAxis(); 
    xl.setTypeface(tf); 
    xl.setTextColor(Color.WHITE); 
    xl.setDrawGridLines(false); 
    xl.setAvoidFirstLastClipping(true); 
    xl.setSpaceBetweenLabels(5); 
    xl.setEnabled(true); 

    YAxis leftAxis = mChart.getAxisLeft(); 
    leftAxis.setTypeface(tf); 
    leftAxis.setTextColor(Color.WHITE); 
    leftAxis.setAxisMaxValue(100 f); 
    leftAxis.setAxisMinValue(0 f); 
    leftAxis.setDrawGridLines(true); 

    YAxis rightAxis = mChart.getAxisRight(); 
    rightAxis.setEnabled(false); 

} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.realtime, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    switch (item.getItemId()) { 
    case R.id.actionAdd: 
    { 
    addEntry(); 
    break; 
    } 
    case R.id.actionClear: 
    { 
    mChart.clearValues(); 
    Toast.makeText(this, "Chart cleared!", Toast.LENGTH_SHORT).show(); 
    break; 
    } 
    case R.id.actionFeedMultiple: 
    { 
    feedMultiple(); 
    break; 
    } 
    } 
    return true; 
} 

private int year = 2015; 

private void addEntry() { 

    LineData data = mChart.getData(); 

    if (data != null) { 

    ILineDataSet set = data.getDataSetByIndex(0); 
    // set.addEntry(...); // can be called as well 

    if (set == null) { 
    set = createSet(); 
    data.addDataSet(set); 
    } 

    // add a new x-value first 
    data.addXValue(mMonths[data.getXValCount() % 12] + " " + (year + data.getXValCount()/12)); 
    data.addEntry(new Entry((float)(Math.random() * 40) + 30 f, set.getEntryCount()), 0); 


    // let the chart know it's data has changed 
    mChart.notifyDataSetChanged(); 

    // limit the number of visible entries 
    mChart.setVisibleXRangeMaximum(120); 
    // mChart.setVisibleYRange(30, AxisDependency.LEFT); 

    // move to the latest entry 
    mChart.moveViewToX(data.getXValCount() - 121); 

    // this automatically refreshes the chart (calls invalidate()) 
    // mChart.moveViewTo(data.getXValCount()-7, 55f, 
    // AxisDependency.LEFT); 
    } 
} 

private LineDataSet createSet() { 

    LineDataSet set = new LineDataSet(null, "Dynamic Data"); 
    set.setAxisDependency(AxisDependency.LEFT); 
    set.setColor(ColorTemplate.getHoloBlue()); 
    set.setCircleColor(Color.WHITE); 
    set.setLineWidth(2 f); 
    set.setCircleRadius(4 f); 
    set.setFillAlpha(65); 
    set.setFillColor(ColorTemplate.getHoloBlue()); 
    set.setHighLightColor(Color.rgb(244, 117, 117)); 
    set.setValueTextColor(Color.WHITE); 
    set.setValueTextSize(9 f); 
    set.setDrawValues(false); 
    return set; 
} 

private void feedMultiple() { 

    new Thread(new Runnable() { 

    @Override 
    public void run() { 
    for (int i = 0; i < 500; i++) { 

    runOnUiThread(new Runnable() { 

     @Override 
     public void run() { 
     addEntry(); 
     } 
    }); 

    try { 
     Thread.sleep(35); 
    } catch (InterruptedException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    } 
    } 
    }).start(); 
} 

@Override 
public void onValueSelected(Entry e, int dataSetIndex, Highlight h) { 
    Log.i("Entry selected", e.toString()); 
} 

@Override 
public void onNothingSelected() { 
    Log.i("Nothing selected", "Nothing selected."); 
} 
} 

Вот мой styles.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<style name="AppTheme" parent="AppTheme.Base"> 
    <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
    <item name="colorPrimary">#3F51B5</item> 
    <!-- Light Indigo --> 
    <item name="colorPrimaryDark">#3949AB</item> 
    <!-- Dark Indigo --> 
    <item name="colorAccent">#00B0FF</item> 
    <!-- Blue --> 
    <item  name="android:statusBarColor">@android:color/transparent</item> 
</style> 

+0

вы хотите изменить цвет текста на панели инструментов и фона? –

+0

Прежде всего, вам не нужно писать всюду по одной теме, bcz вы уже установлены в манифесте в блоке , просто удалите его из xml-файла. –

+0

@SagarChavada Когда я удаляю андроид: theme = "@ style/AppTheme" .It дать мне ошибку java.lang.IllegalStateException: вам нужно использовать тему Theme.AppCompat (или потомок) с этим действием. – EricLu

ответ

0

Есть два styles.xml в мой проект. Первый - styles.xml другой - styles-v21.xml. Я не установил товар в styles-v21.xml. Я использую версию для Android 6.0 API-23, Поэтому я копирую один и тот же элемент в styles.xml. Он поворачивается нормально. Моя ошибка!

The First

The Second

Смежные вопросы