Próbuję utworzyć widok tekstowy, którego tło jest półkola. Tworzę owal za pomocą ShapeDrawable. Próbowałem utworzyć półokrąg, używając ScaleDrawable, aby podwoić rozmiar pionowy owalu i przyciąć go. Jednak ScaleDrawable nie ma żadnego efektu. Dlaczego nie? Jaki jest najlepszy sposób narysowania półkola w tle widoku?Rysowanie półokręgu w tle widoku
res/layout/activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/main_view"
android:background="@drawable/semicircle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:gravity="center_horizontal"
/>
</RelativeLayout>
res/rozciągliwej/semicircle.xml
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/circle"
android:scaleGravity="top|clip_vertical"
android:scaleHeight="200%"
android:scaleWidth="100%" >
</scale>
res/odkształcalne/circle.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
<solid
android:color="#444" />
</shape>
src /.../ MainActivity.java
//...
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
findViewById(R.id.main_view).getBackground().setLevel(10000);
}
//...
myślę najlepszą odpowiedzią na to pytanie jest tutaj: https://stackoverflow.com/a/45406439/2443849 –