2016-10-07 7 views
0

私は、テキストビューとボタンを水平に構成したリストビュー項目を作成しようとしています。 テキストビューを左に、ボタンを右にします。 ボタンのサイズは常に同じですので、テキストビューに残りのスペースを使用させます。Xamarin Android textview in bounds

私の問題は、テキストビュー(画面に表示されるテキストの幅が広い場合)が画面からボタンを押し出すということです。

私は、textviewの画面からボタンを押さないようにしたい - 私は、テキストビューのテキストの長さにかかわらず、画面の右側に常にボタンを押したい。 テキストが長すぎて表示できない場合は、ボタンを右にずらすことなく、できるだけ多く表示するだけです(オーバーフロー:HTML内でを非表示にします)。

これを処理するために私のビューを構成することは可能ですか、それとも画面の幅やテキストの長さなどを測定する必要はありますか?誰もがそれははるかに高く評価されるだろう私を助けることができるので、もし私がXamarinにかなり新しいです

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:stretchColumns="0"> 
<TableRow> 
    <TextView 
     android:id="@+id/tv_item_text" 
     android:text="(123456) Item Name" 
     android:paddingLeft="10dip" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="fill_vertical" 
     android:gravity="fill_vertical" 
     /> 
    <Button 
     android:id="@+id/btn_go" 
     android:layout_width="wrap_content" 
     android:text="Go" 
     android:textColor="@android:color/holo_blue_dark" 
     android:layout_gravity="fill_vertical" 
     android:gravity="center" 
     android:visibility="visible" /> 
</TableRow> 

は、ここに私のListView項目のXAMLです。

/Aidal

+0

なぜあなたはTableLayoutを使用している:

は、次のようになりますか? – Cheesebaron

答えて

1

人々が

はなぜあなたが使用していない...それの内側のTableRowは、リストビュー/ RecyclerView項目のための良い方法ですTableLayoutと巣を使って考える理由私は本当に理解していませんボタンが右にあることを指示し、テキストビューを残りの部分に塗りつぶすようにするRelativeLayout?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="50dp"> 
    <Button 
     android:id="@+id/btn_go" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:text="Go" 
     android:textColor="@android:color/holo_blue_dark" 
     android:layout_alignParentRight="true" /> 
    <TextView 
     android:id="@+id/tv_item_left" 
     android:layout_width="match_match" 
     android:layout_height="match_parent" 
     android:layout_toLeftOf="@id/btn_go" 
     android:layout_alignParentLeft="true" /> 
</RelativeLayout> 
+0

これはうまくいくようです。あなたの質問に対する答えは私の記事の最後の行にあると思います。 – Aidal

+0

HTML、Markdownなどのように、コンテンツのレイアウトにはテーブルを使用し、レイアウトは配置しないでください。 – Cheesebaron

+0

これは視覚的には機能しますが、意図したとおりに動作させるためにはまだ何かが必要です。これはListViewアイテムのレイアウトになっているはずですので、ボタンの外にあるクリックをボタンで捕捉できるようにするために何かする必要があると仮定します。今はちょうどListView.ItemClickを使用します。私はListViewAdapterでいくつかのオーバーライドを行う必要があると思いますか? – Aidal