16

Bây giờ để tạo phân đoạn, tôi đã thực hiện các mã sau đây.Làm thế nào để tạo lập trình bố cục cho một phân đoạn?

tên

file: fragment_a.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/frag_a" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 

</LinearLayout> 

Trong Java

public class FragA extends Fragment{ 
    View view_a; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 

     view_a = inflater.inflate(R.layout.fragment_a, container, false); 

     return view_a; 
    } 



} 

Bây giờ tôi cần phải biết nếu có bất kỳ cách nào để tạo ra một cái nhìn mảnh mà không cần tạo một file xml và viết mã vào nó?

Điều tôi đang cố gắng nói là tôi không muốn tạo tệp xml cho một đoạn thay vì tôi muốn tạo chế độ xem cho đoạn đó bằng mã java.

Điều đó có khả thi không?

+0

có thể nhưng không nên. Nó dễ dàng hơn để gỡ lỗi bằng cách sử dụng xml chứ không phải là mã hóa cứng. – princepiero

+0

Tại sao bạn không muốn tạo một xml và về cơ bản xml và java là đối tác trong tội phạm khi bạn lập trình Android? – princepiero

+0

Tôi đã suy nghĩ về tạo động xem cho một đoạn để nếu tôi thay đổi một hoặc hai tham số tôi có thể sử dụng nó với một đoạn khác – user2729183

Trả lời

30

Có, tất nhiên điều đó là có thể. Chỉ cần thay thế đường lạm phát bằng ví dụ CustomView của bạn.

public class FragA extends Fragment{ 

    View view_a; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

     view_a = new YourCustomView(); 

     return view_a; 
    } 
} 

Hoặc như thế:

public class FragA extends Fragment{ 

     View view_a; 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

      view_a = new LinearLayout(getActivity()); 

      return view_a; 
     } 
    } 

Hoặc thêm lần xem:

public class FragA extends Fragment{ 

     View view_a; 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

      LinearLayout ll = new LinearLayout(getActivity()); 
      ll.addView(new TextView(getActivity())); 

      view_a = ll; 

      return view_a; 
     } 
    } 
Các vấn đề liên quan