2016-04-05 15 views
1

したがって、片側だけの形(四角形)を作成することができました。さて、私はその片側に余白と余白を残しておきたい。今、それは次のようになります。余白を持つAndroidの描画線

Right now it looks like this:

、これは、(色を気にしない)ように見えることになっている方法です。今

enter image description here

、私はのためのコードを持っていますライン:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 

<item 
    android:left="-55dp" 
    android:right="-55dp" 
    android:top="-55dp"> 
    <shape android:shape="rectangle" > 
     <solid android:color="@android:color/transparent" /> 

     <stroke 
      android:width="5dp" 
      android:color="@color/text" /> 
    </shape> 
</item> 

これを達成するには?

textviewsのレイアウト。

<LinearLayout 
     android:id="@+id/picture_activity_linear" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="@dimen/layout_margin" 
     android:layout_marginLeft="@dimen/layout_margin" 
     android:layout_marginRight="@dimen/layout_margin" 
     android:background="@color/background" 
     android:orientation="vertical" 
     android:visibility="visible"> 


     <TextView 
      android:id="@+id/picture_activity_take_new" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/shape_text_line" 
      android:drawableStart="@drawable/ic_profilepicture_takephoto" 
      android:gravity="center" 
      android:padding="@dimen/layout_padding" 
      android:text="Take a new picture" 
      android:textColor="@color/text" 
      android:textSize="@dimen/large_text_size"/> 

     <TextView 
      android:id="@+id/picture_activity_select_from_gallery" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:drawableStart="@drawable/ic_profilepicture_addphoto" 
      android:gravity="center" 
      android:padding="@dimen/layout_padding" 
      android:text="Select new from gallery" 
      android:textColor="@color/text" 
      android:textSize="@dimen/large_text_size"/> 


     <TextView 
      android:id="@+id/picture_activity_remove_photo" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:drawableStart="@drawable/ic_profilepicture_delete" 
      android:gravity="center" 
      android:padding="@dimen/layout_padding" 
      android:text="Remove photo" 
      android:textColor="@color/text" 
      android:textSize="@dimen/large_text_size"/> 


    </LinearLayout> 
+0

を望むよう

if(position == itemList.length - 1){ //position starts from 0 holder.line.setVisibility(View.GONE); } 

さて、これは見えるでしょうか? –

+0

高さ= 1dp、2dpのビューを作成します。 –

答えて

1

あなたはrecyclerviewを使用していると思います。 recyclerviewの場合は、単一の行レイアウトが必要です。だからここ

<LinearLayout> 
    height, width, id 

    <TextView> 
     width = "match_parent" 
     height, id 

    <LinearLayout> 
     android:id="@+id/line" 
     android:height="2dp" 
     android:width="match_parent" 
     android:layout_marginLeft="whatever_you_need" 
     android:layout_marginRight="whatever_you_need" 
     android:background="some_color" /> 

</LinearLayout> 

、あなたはすなわち、ラインがあなたの最後の行の下に来る、1つの問題があり毎回手動 を行を追加する必要はありません。私はあなたがそれを削除したいと考えています。アダプタrecyclerviewアダプタであなたのviewholderクラスで

String[] itemList = {"Take a new Picture", "Select from Gallery",...}; 

:recyclerviewのためのあなたのonBindViewHolderで

line = (LinearLayout) itemView.findViewById(R.id.line); 

。ここで最後の行を特定し、下線を非表示にします。あなたは形状がここで必要とされる理由

+0

これはハードコードされたアイテムです。 –

+0

recyclerviewは柔軟性があり、より多くの機能を備えています。まだハードコード化したい場合は、ソリューションのlinearlayout部分がまだ保持されています。 – suku

関連する問題