0

ボタンのクリックで画像ボタンを動的に追加しようとしています。画像ボタンの数が画面幅を超える場合、横スクロールできるはずです。Jess-Ander の TwoWayGridViewを実装しようとしましたが、成功しませんでした。私は初心者です。間違いが初歩的すぎる場合は、ご容赦ください。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="onClick"
    android:text="Button" />

<com.jess.ui.TwoWayGridView

xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#E8E8E8"
android:id="@+id/gridview"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
app:cacheColorHint="#E8E8E8"
app:columnWidth="80dp"
app:rowHeight="80dp"
app:numColumns="auto_fit"
app:numRows="2"
app:verticalSpacing="16dp"
app:horizontalSpacing="16dp"
app:stretchMode="spacingWidthUniform"
app:scrollDirectionPortrait="vertical"
app:scrollDirectionLandscape="horizontal"
app:gravity="center">

<LinearLayout
    android:id="@+id/linearLayout1"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</com.jess.ui.TwoWayGridView>

</LinearLayout>

コードは次のとおりです。

package com.example.dynamic;


import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;


public class MainActivity extends Activity {

    LinearLayout linearLayout1;




@Override
public void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    setContentView(R.layout.activity_main);
    linearLayout1 = (LinearLayout) findViewById(R.id.linearLayout1);



}

public void onClick(View v){

    ImageView image = new ImageView(MainActivity.this);
    image.setBackgroundResource(R.drawable.ic_launcher);
    linearLayout1.addView(image);        

}



}
4

2 に答える 2

0

xml の値を使用して適切な間隔を取得するのに問題がある場合は、次のチュートリアルを参照してください。

http://spragucm.wordpress.com/2013/11/17/android-horizo​​ntal-and-vertical-gridview-tutorial/

双方向グリッドビューのアイテムが均等に配置されず、行/列が埋まらないため、具体的に書きました。私のチュートリアルのコード例では、列と行の番号を設定することができ、それ以外はすべて自動的に行われるため、子はアイテム間のパディングで行/列を埋めることができます。

コード例は、どちらの向きでも双方向グリッドビューを使用する方法を示しています。

onClickListener の設定に関しては、グリッドビューで setOnItemClickListener() を設定する必要があります。

于 2013-11-18T19:47:31.500 に答える