Je cherche un moyen de mettre une bordure pour textview ou un bouton par programme sans utiliser la méthode setBackgroundResource.
Le but que j'essaie d'atteindre ici est de changer la couleur d'arrière-plan de manière dynamique, mais avec une bordure fixe . Lorsque j'utilise la méthode setBackgroundResource pour la bordure d'arrière-plan, la bordure ne reste pas après le changement de couleur d'arrière-plan par programme.
Exemple simple, comment cela pourrait-il être réalisé:
activity_main.xml
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent" >
<TextView
Android:id="@+id/textView1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:padding="5dp"
Android:text="@string/hello_world" />
</RelativeLayout>
MainActivity.Java
package com.exmple.test;
import Android.app.Activity;
import Android.graphics.drawable.GradientDrawable;
import Android.os.Bundle;
import Android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GradientDrawable Gd = new GradientDrawable();
Gd.setColor(0xFF00FF00); // Changes this drawbale to use a single color instead of a gradient
Gd.setCornerRadius(5);
Gd.setStroke(1, 0xFF000000);
TextView tv = (TextView)findViewById(R.id.textView1);
tv.setBackground(Gd);
}
}
Je pense que cela va vous aider.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<gradient Android:startColor="#FFFFFF"
Android:endColor="#FFFFFF"
Android:angle="270" />
<corners Android:radius="3dp" />
<stroke Android:width="5px" Android:color="#eecc68" />
</shape>
<Button
Android:id="@+id/button1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignLeft="@+id/textView1"
Android:layout_below="@+id/textView1"
Android:layout_marginLeft="52dp"
Android:layout_marginTop="39dp"
Android:background="@drawable/button"
Android:text="Button" />