2016-02-19 5 views
3

Я использую библиотеку. В котором я показываю активность, используемую моей библиотекой, я использую цвет, чтобы покрыть экран цветом. он выглядит круто.Как добавить цвет градиента в цвет. Xml

Но по некоторым причинам я решил использовать градиент. Я разработал красивый эффект градиента, как вы можете увидеть ниже

<?xml version="1.0" encoding="UTF-8"?> 

<gradient 
     android:angle="90" 
     android:endColor="#555994" 
     android:centerColor="#b5b6d2" 

     android:startColor="#555994" 
     android:type="linear" /> 

    <corners 
     android:radius="0dp"/> 

</shape> 

это выглядит хорошо. Но проблема в том, что я использую библиотеку, которая принимает только цвет или цвет. У меня нет другого метода для изменения, в библиотеке показывается активность, я просто должен передать цвет, который будет отображаться в действии.

Теперь мой вопрос:

Могу ли я определить непосредственно цвет градиента в файле color.xml. Или там любой способ конвертировать цветной файл градиента, который находится в режиме рисования , можно выбрать как цвет. так что библиотека может применять мой собственный цвет в качестве заднего грунта

, пожалуйста, помогите мне. Это поможет.

Edit 1:

Для тех парней, которые говорят мне, чтобы добавить это в качестве фона изображения или что-либо другое, позвольте мне поделиться вам небольшую часть этой линии, так что вы можете понять случай более ясно

.withColorResource(R.color.indigo) 

Здесь я ссылка на фиолетовый цвет, определенном в Color.xml, я могу установить любую вещь в качестве фона, как библиотека только дает мне возможность настройки цвета, как показано выше. Итак, я сделал ничью, способную градиентного цвета. Теперь я хочу, чтобы ссылка на градиент была как цвет.

+0

Относительно вашего «Редактировать 1»: я не говорю, что использую его как фон для изображения. Я просто говорю, задайте его для изображения с помощью @android: color/transparent и добавьте отдельный вид, который принимает фоновый градиент как вытягиваемый под ним (!). (Так что градиент не имеет ничего общего с этим lib) – everyman

+0

где я упомянул, что хочу цвет на фоне изображения. Мне просто нужно нажать цвет в методе .withColorResource (R.color.indigo), где, как я хочу дать ему цвет градиента –

+0

Вы говорите прямо в первом предложении: «В котором я показываю изображение и за ним это изображение я использую цвет « – everyman

ответ

0

Вам просто нужно создать Drawable ресурс (см пример ниже), и добавить его в макет, созданный

android:background="@drawable/grad" 

Пожалуйста, проверьте gradient background ответ, а также similar gradient effect

+0

Я просто хочу, чтобы ресурс цвета я не мог преобразовать выделение в color.xml –

1

пример для кнопки , Это рисует ресурс, my_button_gradient.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape xmlns:android="http://schemas.android.com/apk/res/android" 
      android:shape="rectangle"> 
      <gradient 
       android:angle="180" 
       android:centerColor="@color/flat_silver_sand" 
       android:endColor="@color/flat_white_smoke" 
       android:startColor="@color/flat_white_smoke" /> 
     </shape> 
    </item> 
</layer-list> 

, если вы хотите использовать селектор; btnselector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@color/transparent_black_10" android:state_focused="true" android:state_pressed="false" /> 
    <item android:drawable="@drawable/my_button_gradient" android:state_focused="true" android:state_pressed="true" /> 
    <item android:drawable="@drawable/my_button_gradient" android:state_focused="false" android:state_pressed="true" /> 
</selector> 

layout.xml;

...

<Button 
android:id="@+id/btn" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_alignParentEnd="true" 
android:layout_alignParentRight="true" 
android:layout_alignParentTop="true"  
android:background="@drawable/btnselector" 
android:textColor="#34495E" 
       /> 

Вы можете написать код, как это для вашего изображения. Это может помочь вам.

+0

это не то, что я хочу –

0

Но проблема в том, что я использую библиотеку, которая принимает только цвет или цветной ресурс.

Как другие заявили, создать ресурс с вашего градиента и использовать его за изображение с прозрачным цветом фона. Уложите представления с помощью RelativeLayout или FrameLayout.

+0

Я не использую изображение или что-то еще. Мне просто нужно дать цвет библиотечному методу, я могу изменить его. –

+0

Какая библиотека? Похоже, вы используете библиотеку для загрузки изображения и установки цвета фона. (Если да, вы можете использовать прозрачный фон плюс второй слой со стандартным представлением) – everyman

+0

см. Мой отредактированный ответ, есть подсказка. Я должен дать цвет в методе этой библиотеки и который помещает цвет на фон экрана, поэтому я хочу установить градиент. У меня нет другого выбора. SO скажите мне, как я могу загрузить файл градиента, который находится в drawable, как я могу загрузить drawable как цвет –

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