XMLで定義されたTextViewがあり、背景色と境界線を設定したいと思います。私が持っている問題は、XMLですでにAndroid:background
境界線リソースを設定するため、背景色に再度使用することはできません。誰かが私を正しい方向に案内してくれますか?
Border.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" Android:shape="rectangle" >
<solid Android:color="#ffffff" />
<stroke Android:width="1dip" Android:color="#7F000000"/>
</shape>
TextView
<TextView
Android:id="@+id/editor_title"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_alignParentTop="true"
Android:background="@drawable/title_border"
Android:padding="5dp"
Android:text="@string/editor_title"
Android:textAppearance="?android:attr/textAppearanceMedium" />
このためにXMLドロアブルを作成する必要があります。これを単一の背景として設定できます。必要なものは次のとおりです(色の境界線が異なる長方形-不要な場合はグラデーションを置き換えます)。
これは 'drawable'フォルダーに移動します:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<stroke Android:width="3dp" Android:color="@color/blue_button_border" />
<gradient
Android:startColor="@color/gradient_end"
Android:endColor="@color/gradient_start"
Android:angle="-90" />
</shape>
Java経由:
TextView c1 = new TextView(activity);
c1.setTextColor(getResources().getColor(R.color.solid_red));
c1.setText("My Text");
TextView test = (TextView) view.findViewById(R.id.textView2);
test.setBackgroundResource(R.color.holo_green_light);
XML経由:
<TextView
Android:text="2"
Android:textSize="200sp"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:id="@+id/textView2"
Android:style="@style/textviewStyle"
Android:background="@Android:color/holo_green_light"
Android:gravity="center"
Android:textColor="#EEEEEE"
Android:layout_alignParentRight="true" />
これは、このトピックに関するAPIページです。 http://developer.Android.com/guide/topics/resources/accessing-resources.html#ResourcesFromXml