我有一個畫廊,其適配器創建多個實例的LinearLayout一個畫廊。那些線性佈局實例有按鈕,然而,當有人點擊按鈕時,他們不能拖動畫廊。滾動的按鈕
我的想法是具有用戶可以通過滾動菜單。通常使用ScrollView完成的事情,但是因爲我希望滾動的視圖能夠「捕捉」到當前的按鈕頁面,所以一個Gallery可以更好地工作。
這個問題是類似這樣的:Android gallery of LinearLayouts
然而,當我已經解決了「按鈕會出現點擊」拖動問題的時候,我似乎無法讓有它的工作就像一個滾動型呢,這些按鈕可用作拖動區域的一部分。
任何提示?
不知道,如果代碼是相關的,但在這裏它是。
佈局包含畫廊:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Gallery
android:id="@+id/gallery"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:fadingEdge="none"
android:spacing="0dp"/>
</FrameLayout>
測試的活動,填充畫廊:
import com.zehfernando.display.widgets.ZGallery;
public class ScrollTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.scrolltest);
Gallery gallery = (Gallery) findViewById(R.id.gallery);
gallery.setAdapter(new LayoutAdapter(this));
}
public class LayoutAdapter extends BaseAdapter {
private Context mContext;
public LayoutAdapter(Context c) {
mContext = c;
}
public int getCount() {
return 3;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater vi = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = vi.inflate(R.layout.scrolllayout, null);
v.setMinimumWidth(getWindowManager().getDefaultDisplay().getWidth());
return v;
}
}
}
該畫廊裏面去的框架佈局:
<?xml version="1.0" encoding="utf-8"?>
<com.zehfernando.display.widgets.ScrollableLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/buttonRegister"
android:layout_width="200dp"
android:layout_height="72dp"
android:text="REGISTER"/>
<Button
android:id="@+id/buttonUnregister"
android:layout_width="match_parent"
android:layout_height="72dp"
android:text="UNREGISTER" />
</com.zehfernando.display.widgets.ScrollableLinearLayout>
「ScrollableLinearLayout」就是我的類,它擴展了LinearLayout來覆蓋onPressed。
夥計,即時通訊新的android ...如何在主要活動中實現此代碼? – jayellos
謝謝澤西,救了我的屁股! – Leo
真的很好......謝謝zeh ... – kalandar