7

私の質問は、単純な黒線の境界線を周囲に配置して、ユーザーが開始位置、停止位置、およびその幅ScrollViewを正確に認識できるようにする方法があるかどうかです。ScrollViewこれを行う方法を説明しているAndroidドキュメントには、XMLまたはJavaコードが見つかりません。私はこれが可能でなければならないことを知っています。

ScrollView以下は、境界線が必要な場合の XML コードです。

<LinearLayout
          .... />


    <TextView
        ... />

//BORDER STARTS HERE        
    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="94.5"
        android:paddingBottom="5dp"
        android:fillViewport="true" >

        <LinearLayout
            ... > 

            <TextView
                ... />

        </LinearLayout>
    </ScrollView>
//BORDER ENDS HERE

    <Button
        ... />
</LinearLayout>

編集

scrollviewborder.xmlの背景として、次のコードで を追加しましたScrollView

<?xml version="1.0" encoding="utf-8"?>
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <stroke
        android:width="2dp"
        android:color="#000000"/>
</shape>

以下のスクリーンショットは、それが生成したものです。

ここに画像の説明を入力

これは私が望んでいたものではありません。ブラックボックスではなく、周囲に細い黒い線が必要です。

4

4 に答える 4

11

背景をストロークで描画可能な形状に設定できます。

例:

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="0dip"
    android:layout_weight="94.5"
    android:paddingBottom="5dp"
    android:background="@drawable/stroke_bg"
    android:fillViewport="true" >

また、drawables フォルダーには、stroke_bg.xml ファイルがあります。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <stroke
        android:width="2dp"
        android:color="#000000"/>
</shape>

これにより、幅 2 dp の黒い境界線を持つスクロール ビューが表示されます。

于 2013-02-19T16:17:04.233 に答える
11

新しい要件に照らして、次のコードを試してください。

<?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">
    <solid
        android:color="@android:color/transparent"/>
    <stroke
        android:width="2dp"
        android:color="#000000"/>
</shape>
于 2013-02-19T16:17:27.767 に答える
2

Android ビューの上部と下部に境界線を追加する簡単な方法はありますか?

私が考えることができるAndroidには、組み込みの「境界線」の概念はありません。次のようなレイアウトを使用してエミュレートできます。

TextView を LinearLayout でラップし、目的の android:background 色と適切な android:layout_height (例: 1px、1dip) を持つビューを使用して、プレーン ビューをその上下に追加します。

TextView を LinearLayout でラップし、上下に ImageView ウィジェットを追加して、目的の境界画像を追加します。

TextView を RelativeLayout でラップし、上部に固定されたプレーン ビュー (適切な背景と高さ)、下部に固定された別のプレーン ビュー、および上部と下部に固定された TextView を追加します。これは RelativeLayout の z 軸サポートを利用するため、境界線は、最初の 2 つのアプローチのように TextView の外側ではなく、TextView が占めるスペースの内側になります。

TextView に、境界線のある背景として 9 パッチの PNG ファイルを指定します。これは XML の観点からは最も単純ですが、適切な 9 パッチ イメージを作成する必要があります。

于 2013-02-19T16:17:44.180 に答える
2

一部の人々が示唆しているように、レイアウトにラップしないでください。これにより、アプリのレンダリングが少し遅くなります (目立たないかもしれませんが、それでも)。代わりに、子のみを定義する形状を作成し、それを ScrollView の背景として使用してください。

于 2013-02-19T16:24:25.580 に答える