我想将listView的宽度设置为移动屏幕宽度的40%。由于40%在不同手机中的像素不同,我将无法在xml布局文件中设置宽度。有没有什么办法以编程方式为列表设置宽度Android以编程方式更改视图的宽度
回答
实际上,您通常可以使用layout_weight
来以XML格式执行此操作。有关说明,请参阅Linear Layout guide。几件事情要记住:
- 确保您设置的大小,(
layout_width
的水平布局,layout_height
为垂直的一)以0dp
所以它不会与动态布局干涉。 - 您通常会在布局中的其他视图上加权,以便占用剩余的60%。如果不是,您可以定义一个weight sum。
Display display = getWindowManager().getDefaultDisplay();
int width = (display.getWidth()*40)/100;
你必须通过setparam越来越宽u必须设置成你的代码后,通过上面的代码来获得屏幕宽度尺寸。
我尝试设置,但似乎有一个问题,因为视图不能被看到if参数是以编程方式设置的。我在xml中创建视图本身并尝试更改xml中的参数....可以发布您用于设置参数的代码 – user2041902 2013-02-23 06:31:51
您可以通过编程让屏幕宽度,然后让屏幕宽度的40%,并创下向ListView
。而如果你想做到这一点使用XML,然后使用LinearLayout
并设置android:weightSum
为此,然后用weight.Using这样你就可以轻松做到这一点。
为了让屏幕重量的40%
Display display= ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int width = (display.getWidth()*40)/100;
设定重量为视图XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:orientation="vertical"
android:weightSum="100" >
<Button android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="50"
android:text="button1"/>
<Button android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="50"
android:text="button2"/>
</LinearLayout>
您的意见和PARAMS术语概念的错误。您可以通过编程方式设置不同类型的宽度,您可以在xml布局中设置它。以编程方式将布局参数设置为视图的优点仅仅是在运行时更改视图布局参数的可能性。 你的问题的解决方案很容易,你只需要把你的listView放在一个LinearLayout里面,并将它的权重设置为.4
- 1. Android:以编程方式更改布局根视图的高度
- 2. Android - 如何以编程方式更改ImageButton的宽度?
- 3. 以编程方式更改视图
- 4. 以编程方式更改ColorBox的宽度/高度onClick
- 5. 以编程方式更改UIImageView Xcode的高度和宽度Swift
- 6. 以编程方式设置宽度/视图高度
- 7. Android:以编程方式更改视图的绝对位置
- 8. 如何以编程方式更改MFC中组框的宽度?
- 9. 以编程方式更改PDF中所有行的宽度
- 10. 以编程方式更改SegmentControl值的视图已更改
- 11. Android视图layout_width - 如何以编程方式更改?
- 12. 如何以编程方式更改Bootstraps屏幕宽度断点?
- 13. 无法以编程方式更改gridview列宽度
- 14. 基于可绘制图像以编程方式更改图像视图高度和宽度
- 15. 在视图出现后以编程方式更改视图
- 16. 以编程方式更改小部件宽度/高度的最佳方法?
- 17. 以编程方式添加保存方向更改的视图?
- 18. 以编程方式更改UIViewController视图NIB的最佳方法
- 19. Android以编程方式更改drawableRight
- 20. UITableView,如何以编程方式更改整个tableview的宽度和高度?
- 21. 无法以编程方式更改水平进度条的宽度
- 22. Android工具栏 - 以编程方式更改导航图标的高度和宽度
- 23. 以编程方式更改图像
- 24. 以编程方式更改MediaController图标
- 25. 以编程方式更改ActionBar图标
- 26. 以编程方式设置宽度Imageview
- 27. 以编程方式在android中更改线性布局高度
- 28. android RelativeLayout以编程方式更改高度
- 29. 在android中以编程方式更改屏幕亮度
- 30. 在Android中以编程方式更改AppBarLayout高度
我想你设置了listview的权重 – 2013-02-23 06:01:39
不,那不是我想要的。因为我的列表视图最初会出现在屏幕之外,并且只有在单击按钮时才会出现 – user2041902 2013-02-23 06:04:47
您应该重申您的问题并指定您希望在运行时添加列表视图,因为这与您最初提出的问题有很大不同。 – Daniel 2013-02-23 06:15:40