【发布时间】:2014-09-30 06:40:55
【问题描述】:
我在一个对话框中膨胀一个布局,它由一个滚动视图组成,但布局不滚动。我从stackoverflow中提到了很多问题,但它也不起作用。我的 layout.xml 如下所示:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:background="@color/White"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/White"
android:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="5dp"
android:text="Update available"
android:textColor="#000000" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:gravity="center"
android:text="@string/upgrade_msg"
android:textColor="#000000" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="300dp"
android:layout_margin="3dp"
android:layout_weight="0.02"
android:src="@drawable/updateimg2" />
<Button
android:id="@+id/btn_upgrade"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_forget_pwd"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:background="@color/White"
android:gravity="center"
android:text="Upgrade Now"
android:textColor="@color/Black" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:scaleType="fitXY"
android:src="@drawable/line_y_h" />
<Button
android:id="@+id/btn_remind"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_forget_pwd"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:background="@color/White"
android:gravity="center"
android:text="Remind Me Later"
android:textColor="@color/Blue" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:scaleType="fitXY"
android:src="@drawable/line_y_h" />
</LinearLayout>
</ScrollView>
-
对话框代码
public void show_Alert_version_custom(String str, final String url, final String exitStatus)// use for { final Dialog dialog = new Dialog(Splash.this); dialog.setContentView(R.layout.version_update); dialog.setTitle(getString(R.string.alert_title)); Button dialogButton2 = (Button) dialog.findViewById(R.id.btn_remind); dialogButton = (Button) dialog.findViewById(R.id.btn_upgrade); ImageView viewLine = (ImageView) dialog.findViewById(R.id.imageView2); // if button is clicked, close the custom dialog dialogButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) {} }); // if button is clicked, close the custom dialog dialogButton2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) {} }); dialog.show(); }
【问题讨论】:
-
你能发布你的对话代码吗??
-
最好使用另一个 xml 文件...不要去这么大的对话框。
-
你必须使用scrollview的静态高度。
-
一般
ScrollView有更多内容时滚动。虽然使用此代码会滚动它。scrollview.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub try { v.getParent().requestDisallowInterceptTouchEvent(true); } catch (Exception e) { // TODO: handle exception } return false; } });