我对android布局有疑问。我无法实现我正在寻找的东西,我需要一些方向。 我正在寻找一个将在Scroll View布局中的布局。很难解释,但一张图片胜过千言万语。enter image description here
我想在滚动视图中找到它,请问有什么帮助吗?
答案 0 :(得分:0)
试试这个,我做了两个布局..
1)activity_main ,其中包含gridview和webview。
2)activity_gridview ,其中包含将在gridview中充气的imageview。
我已使用BaseAdapter动态添加图像到Gridview。
在MainActivity中,我已将该适配器设置为GridView。请尝试使用此代码。
activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:id="@+id/scrollView"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:fillViewport="false"
android:orientation="vertical">
<LinearLayout
android:id="@+id/linImages"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid"
android:layout_width="100dp"
android:layout_height="match_parent"
android:numColumns="1"></GridView>
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_toRightOf="@id/linImages"></WebView>
</LinearLayout>
</ScrollView>
</RelativeLayout>
activity_gridview.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/imgView1"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/star2" />
<ImageView
android:id="@+id/imgView2"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/star1" />
<ImageView
android:id="@+id/imgView3"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/star3" />
<ImageView
android:id="@+id/imgView4"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/star1" />
</LinearLayout>
CustomAdapter.java:
public class CustomAdapter extends BaseAdapter {
Context context;
int flags[];
LayoutInflater inflter;
public CustomAdapter(Context applicationContext, int[] flags) {
this.context = applicationContext;
this.flags = flags;
inflter = (LayoutInflater.from(applicationContext));
}
@Override
public int getCount() {
return flags.length;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = inflter.inflate(R.layout.activity_gridview, null);
ImageView imgView1 = (ImageView) view.findViewById(R.id.imgView1);
ImageView imgView2 = (ImageView) view.findViewById(R.id.imgView2);
ImageView imgView3 = (ImageView) view.findViewById(R.id.imgView3);
ImageView imgView4 = (ImageView) view.findViewById(R.id.imgView4);
imgView1.setImageResource(flags[0]);
imgView2.setImageResource(flags[1]);
imgView3.setImageResource(flags[2]);
imgView4.setImageResource(flags[3]);
return view;
}
}
MainActivity.java:
public class MainActivity extends AppCompatActivity {
int images[] = {R.drawable.star2, R.drawable.star1, R.drawable.star3, R.drawable.star1};
GridView grid;
CustomAdapter customAdapter;
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView= (WebView) findViewById(R.id.webView);
grid = (GridView) findViewById(R.id.grid);
customAdapter = new CustomAdapter(getApplicationContext(), images);
grid.setAdapter(customAdapter);
}
}
答案 1 :(得分:0)
如果你不想动态添加图像,那么这就是你想要的布局。试试这个。
activity_main.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:id="@+id/sv"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/linMain"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<RelativeLayout
android:id="@+id/lin1"
android:layout_width="100dp"
android:layout_height="match_parent"
android:layout_margin="10dp">
<ImageView
android:id="@+id/imgView1"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@android:color/holo_purple" />
<ImageView
android:id="@+id/imgView2"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_below="@id/imgView1"
android:layout_marginTop="20dp"
android:background="@android:color/holo_red_light" />
<ImageView
android:id="@+id/imgView3"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_below="@id/imgView2"
android:layout_marginTop="20dp"
android:background="@android:color/holo_green_light" />
<ImageView
android:id="@+id/imgView4"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_below="@id/imgView3"
android:layout_marginTop="20dp"
android:background="@android:color/holo_blue_light" />
</RelativeLayout>
<LinearLayout
android:id="@+id/lin2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:orientation="vertical">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_toRightOf="@id/linImages"></WebView>
</LinearLayout>
</LinearLayout>
</ScrollView>
</RelativeLayout>
这里我附上了这个布局UI的截图。