web-dev-qa-db-ja.com

LinearLayoutへの形状の追加Android

オートコンプリートとテキストボックスを持つ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"
       />
   -->
8
Khayam Gondal

スタイルを追加するコンポーネントの背景には、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"
14
Booger

あなたは以下のようなことをすることができます

長方形を追加したい場合は、レイアウト内にネストされたレイアウト(たとえば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>

サイズ、マージンなど、必要に応じてすべての相対プロパティを変更します

2
karan

Linearlayoutクラスを実装してカスタムビューを作成し、ondraw()mtdをオーバーライドして、必要な形状を描画することをお勧めします。これが正しい方向に進むのに役立つことを願っています。

0
Sharad Mhaske