Tôi phải thêm nhiều nút trên LinearLayout. Nhưng tôi muốn đặt các nút đó cách nhau 5px. Tôi không thể tìm ra cách để đặt lề của Nút. Bất kỳ ý tưởng?Làm cách nào để thêm lề vào một Nút tại thời gian chạy?
Trả lời
Sử dụng thuộc tính layout_margin của phần tử nút. Điều đó không hoạt động?
<Button android:layout_margin="5px" (...)/>
Sửa
Khi tạo một nút trong java, LayoutParams được sử dụng để xác định lợi nhuận và như vậy.
Button button = new Button();
(....)
params = new LinearLayout.LayoutParams();
params.leftMargin = 5;
(set params as you need)
parent.addView(button, params);
LayoutParams bạn sử dụng phải khớp với Bố cục mà bạn thêm nút vào (xem http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html). Đối với một LinearLayout, sử dụng một LinearLayout.LayoutParams và thiết lập các trường * Margin cho phù hợp.
Việc thêm đệm vào các nút cũng sẽ giải quyết được sự cố của bạn. Check this out http://developer.android.com/resources/tutorials/views/hello-formstuff.html#CustomButton
Cảm ơn, nhưng đệm sẽ thêm khoảng trống bên trong vùng nút, nói khoảng cách giữa cạnh và văn bản của nút. –
hãy thử điều này: setGravity (int): \t Chỉ định cách căn chỉnh văn bản theo trục x và/hoặc trục của chế độ xem khi văn bản nhỏ hơn chế độ xem. – jsp
Hãy thử điều này:
//Assuming your button is in a LinearLayout as stated
LinearLayout.LayoutParams params = myButton.getLayoutParams();
params.setMargins(0, 0, 0, 0) //left, top, right, bottom
myButton.setLayoutParams(params);
cũng hoạt động, ngoại trừ setLayoutParams là vô ích. và getLayoutParams có thể rỗng. và làm thế nào để bạn biết nó là một LinearLayout.LayoutParams rằng nút có? – njzk2
Tôi không viết một chương trình để vượt qua kiểm tra ở đây, đó là một ý tưởng chung về những gì được yêu cầu. Như tôi đã nói trong phần bình luận, tôi cho rằng nút của anh ta nằm trong LinearLayout, như anh ta đã nói trong bài viết gốc của anh ấy. Trong liên kết này: http://developer.android.com/reference/android/view/View.html#getLayoutParams(), nó được thông báo rằng 'Khi Chế độ xem được đính kèm với một ViewGroup gốc, phương thức này không được trả về giá trị rỗng' . Ergo, nó sẽ không được null trong trường hợp này. – kcoppock
@kcoppock, Cảm ơn bạn, tôi nghĩ bạn đúng rằng nó sẽ không trả về giá trị rỗng, theo giả định của bạn là nó nằm trong LinearLayout. Nhưng, vì nút được thêm vào bố cục đó sau; trong trường hợp này, nó trả về null. Cảm ơn tất cả! –
MarginLayoutParams params = (MarginLayoutParams) vector8.getLayoutParams();
params.width = 200; params.leftMargin = 100; params.topMargin = 200;
vector8.setLayoutParams(params);
Cần sử dụng loại: MarginLayoutParams
điều này hữu ích cho tôi –
sử dụng mã này để thiết lập lề khi chạy
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) btnContainer.getLayoutParams();
params.setMargins(5, 50, 10, 0); //left, top, right, bottom
view_whwre_set_margin.setLayoutParams(params);
- 1. Cách thêm nút MvcSitemapProvider mới vào thời gian chạy
- 2. XElement => Thêm trẻ em nút vào thời gian chạy
- 3. Cách thêm UIButton vào thời gian chạy
- 4. C#: Làm thế nào để thêm một thuộc tính vào một đối tượng tại thời gian chạy?
- 5. Làm cách nào để thêm thuộc tính vào lớp trong thời gian chạy trong C#?
- 6. Thêm các lọ vào một trình cắm thêm Eclipse tại thời gian chạy
- 7. Làm cách nào để thêm thuộc tính vào đối tượng trong thời gian chạy?
- 8. Làm thế nào để tiêm IL vào một phương pháp tại thời gian chạy
- 9. Thêm hình ảnh trong thời gian chạy
- 10. Làm cách nào để thêm mục trong thanh tác vụ trong thời gian chạy
- 11. Thêm chú thích Java tại thời gian chạy
- 12. Cách thêm dấu thời gian vào TFSBuild.proj?
- 13. Tự động thêm thuộc tính C# tại thời gian chạy
- 14. Thêm các lớp thực thể động vào thời gian chạy
- 15. Cách thêm thời gian chờ vào một hàm trong Python
- 16. Thay đổi menu tại thời gian chạy
- 17. Thêm lề vào DataGridTextColumn
- 18. Cách thêm khoảng thời gian vào một NSDate?
- 19. Làm thế nào để gọi một chuỗi để chạy vào thời gian cụ thể trong java?
- 20. Làm cách nào để đo thời gian một hàm đang chạy?
- 21. Làm cách nào để có được các lớp javafx vào thời gian chạy?
- 22. Thay đổi kích cỡ một THREE.CubeGeometry tại thời gian chạy
- 23. Làm cách nào để thêm mối quan hệ vào thời gian chạy bằng DBIx :: Class và Catalyst?
- 24. Làm cách nào để thêm thông tin đóng dấu thời gian vào các tạo tác Maven?
- 25. Thêm hình ảnh vào báo cáo tinh thể tại thời gian chạy
- 26. Làm cách nào để thêm 24 giờ vào dấu thời gian unix trong php?
- 27. Thêm 2 giờ vào thời gian hiện tại trong MySQL?
- 28. Thêm cờ trong thời gian chạy (Xcode Instruments)
- 29. Tải một byte [] vào một Hình ảnh tại Thời gian chạy
- 30. làm thế nào để tạo ra một lớp năng động tại thời gian chạy trong Java
Tôi mới vào Android! Tôi nhầm lẫn, nếu tôi có nó trong XML, thì làm cách nào tôi có thể sử dụng trong khi tạo động? Mã của tôi trông giống như thế này, btnSend = new Button (this); btnSend.setText ("Gửi ..."); btnSend.setBackgroundResource (R.drawable.red_button); btnSend.setOnClickListener (mới View.OnClickListener() { \t \t \t \t \t \t public void onClick (View v) { \t \t \t \t // TODO Auto-tạo ra phương pháp còn sơ khai \t \t \t \t \t \t \t \t // Mã tại đây ... \t \t \t \t \t \t \t} \t \t}); –
Tôi chỉnh sửa bài đăng của mình với thông tin về tạo nút động – njzk2
Cảm ơn bạn đã giúp đỡ nhiều. Tôi xin lỗi rằng Liều lượng không làm những gì tôi muốn! Say, LinearLayout.LayoutParams lParam = new LinearLayout.LayoutParams ( \t \t LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); lParam.setMargins (20, 20, 20, 20); Nó thêm lề vào LinearLayout. Không phải nút. Ví dụ, nó có 2 nút, cạnh nhau, nó không * không * thêm không gian giữa các nút! Đó là mục tiêu của tôi! Cảm ơn! –