0

こんな感じでAndroidでListViewを作りたいここに画像の説明を入力

これは iPhone で可能です。iPhone では、以前はサークル ビューと呼ばれていました。

4

2 に答える 2

2

xml.jst を使用して、rowLayout を膨張させてから、そのビューに「パディング」を追加することもできます。以下のコードは正しく実行されます

以下のコードを試してください..

public class MainActivity  extends ListActivity {
/** Called when the activity is first created. */
ListView lv;
int [] arr={20,40,60,80,80,60,40,20};


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    lv=getListView();
    CustomAdapter adapter=new CustomAdapter(this, arr);
    lv.setAdapter(adapter);

}

customAdapter の getview メソッドの下に記述します。要件に応じて配列を変更します

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    LinearLayout ll = new LinearLayout(context);
    LinearLayout llInside = new LinearLayout(context);

    ll.setLayoutParams(new ListView.LayoutParams(LayoutParams.FILL_PARENT,
            LayoutParams.WRAP_CONTENT));
    llInside.setLayoutParams(new ListView.LayoutParams(
            LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

    TextView tv = new TextView(context);
    tv.setLayoutParams(new ListView.LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT));
    tv.setText("this is textbview");
    tv.setTextColor(Color.RED);
    tv.setLayoutParams(new ListView.LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT));


    llInside.addView(tv);       


     //the padding is set here dynamically

    int rem = position % 8;
    Log.d("" + rem, "" + rem);
    llInside.setPadding(img[rem], 0, 0,0 );   

    ll.addView(llInside);
    return ll;
}

出力ここに画像の説明を入力

于 2013-08-08T09:35:32.787 に答える
0

あまりにも動的である必要がない場合は、LinearLayout を含むスクロール ビューを使用し、その中に textView を配置して、左側に異なるパディングを配置すると、このようにずらして配置できますが、それには時間がかかります。長さの点で非常に動的ではありません。ただし、Androidでこれを行う他の方法は考えられません。

このようなもので、数回後にパディングを減らしてジグザグを取得します

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="16dp" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />
        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="20dp"
            android:text="TextView" />  
         <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="40dp"
            android:text="TextView" />

    </LinearLayout>
</ScrollView>
于 2013-08-08T08:44:27.933 に答える