1

3つのリストビューと3つのボタンを含む1つの線形レイアウトがあります。リストビュー要素をカスタマイズしました。誰かがリストビューの要素に触れた場合、対応するテキストビューがマーキーとして効果を発揮するようにしたいと思います。

主な線形レイアウトは次のとおりです-

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:orientation="vertical" >

<ListView
    android:id="@+id/list1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginLeft="5dip"
    android:layout_marginRight="5dip"
    android:layout_marginTop="5dip"
    android:layout_weight="1"
    android:drawSelectorOnTop="false"
    android:textSize="16dip" />

<Button
    android:id="@+id/more_button1"
    android:layout_width="130dip"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dip"
    android:layout_marginRight="5dip"
    android:layout_marginTop="5dip"
    android:text="More" >
</Button>

<ListView
    android:id="@+id/list2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginLeft="5dip"
    android:layout_marginRight="5dip"
    android:layout_marginTop="5dip"
    android:layout_weight="1"
    android:drawSelectorOnTop="false"
    android:textSize="16dip" />

<Button
    android:id="@+id/more_button2"
    android:layout_width="130dip"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dip"
    android:layout_marginRight="5dip"
    android:layout_marginTop="5dip"
    android:text="More" >
</Button>

<ListView
    android:id="@+id/list3"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginLeft="5dip"
    android:layout_marginRight="5dip"
    android:layout_marginTop="5dip"
    android:layout_weight="1"
    android:drawSelectorOnTop="false"
    android:textSize="16dip" />

<Button
    android:id="@+id/more_button3"
    android:layout_width="130dip"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dip"
    android:layout_marginRight="5dip"
    android:layout_marginTop="5dip"
    android:text="More" >
</Button>

</LinearLayout>

カスタマイズされたリストアイテムは次のとおりです(list_item_1、list_item_2、list_item_3)-

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:ellipsize="marquee"
android:focusableInTouchMode="true"
android:freezesText="true"
android:lines="1"
android:marqueeRepeatLimit="marquee_forever"
android:padding="10dp"
android:scrollHorizontally="true"
android:scrollbarAlwaysDrawVerticalTrack="false"
android:singleLine="true"
android:textSize="20sp" >

</TextView>

そして、活動は以下の通りです-

public class MarqueeActivity extends Activity {

ListView lv1 = null;
ListView lv2 = null;
ListView lv3 = null;

String s1[] = {"Hello This is a long Text which will help in tsting", "How", "Are", "You"};
String s2[] = {"I", "Am", "Fine"};
String s3[] = {"Welcome", "In", "New", "World"};    

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    lv1 = (ListView) findViewById(R.id.list1);
    lv2 = (ListView) findViewById(R.id.list2);
    lv3 = (ListView) findViewById(R.id.list3);

    lv1.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item_1, s1));
    lv2.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item_2, s2));
    lv3.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item_3, s3));

    }
}

たとえば、アクティビティが開始された後、誰かが最初のリストビューの最初の要素に触れた場合(こんにちは、これはテストに役立つ長いテキストです)、マーキーを開始する必要があります。

前もって感謝します!!

4

2 に答える 2

2

これは機能します:

lv1.setOnItemClickListener(new OnItemClickListener() {

        public void onItemClick(AdapterView<?> arg0, View arg1, int pos,
                long arg3) {
            // TODO Auto-generated method stub
            Log.e("Child at 0 pos"," "+lv1.getChildAt(pos));
            txtv = (TextView)lv1.getChildAt(pos);
            txtv.setSelected(true);

        }
    });
于 2012-05-22T10:20:27.770 に答える
0

android:marqueeRepeatLimit="marquee_forever"Touchイベントでテキストビューのランタイムを設定できます

于 2012-05-22T09:37:28.823 に答える