オートコンプリートとテキストボックスを持つlinearLayoutがあります。 linearlayoutに図形(長方形)を挿入したい。どうすればこれを達成できますか。私はAndroidの新参者です。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:padding="5dp"
Android:id="@+id/layout">
<AutoCompleteTextView Android:id="@+id/autocompleteCountry"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:hint="@string/CONTRY_LABEL"
/>
<AutoCompleteTextView Android:id="@+id/locationAutoCompleteFrom"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:hint="@string/from"
Android:visibility="gone"
/>
<AutoCompleteTextView Android:id="@+id/locationAutoCompleteTO"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:hint="@string/to"
Android:visibility="gone"
/>
<!-- <Button Android:id="@+id/buttonRoute"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="@string/buttonRouteText"
Android:enabled="false"
Android:clickable="true"
/>
-->
スタイルを追加するコンポーネントの背景には、ShapeDrawableを使用する必要があります。
シェイプドローアブルは、次の構文でXMLで作成されます(これは、角が丸い長方形を示していますが、これをカスタマイズして好きなように表示するためにできることはたくさんあります)。このファイル(background_square.xmlなどの名前)は、ドローアブルフォルダーに配置する必要があります。
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<corners Android:radius="5dp" />
<solid
Android:color="@color/primary_grey" />
</shape>
次に、それをビューに追加する場合、XMLで次の構文を使用できます。
Android:background="@drawable/background_square"
あなたは以下のようなことをすることができます
長方形を追加したい場合は、レイアウト内にネストされたレイアウト(たとえばlinearlayout)を追加し、Android:background="yourcolor"
//ハッシュカラー値を使用して色を追加できます。
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:padding="5dp"
Android:id="@+id/layout">
<AutoCompleteTextView Android:id="@+id/autocompleteCountry"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:hint="@string/CONTRY_LABEL"
/>
<AutoCompleteTextView Android:id="@+id/locationAutoCompleteFrom"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:hint="@string/from"
Android:visibility="gone"
/>
//suppose you want to add your rectangle here
<LinearLayout
Android:id="@+id/rectangle"
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:background="yourcolor"
>
</LinearLayout>
サイズ、マージンなど、必要に応じてすべての相対プロパティを変更します
Linearlayoutクラスを実装してカスタムビューを作成し、ondraw()mtdをオーバーライドして、必要な形状を描画することをお勧めします。これが正しい方向に進むのに役立つことを願っています。