Android代码动态界面布局,以及fragment代码样例

来源:互联网 发布:linux 串口波特率设置 编辑:程序博客网 时间:2024/06/16 03:57
1. addview in a layout

setContentView(R.layout.activity_tab_trade);
LinearLayout mainLayout = (LinearLayout) findViewById(R.id.layout_tab_trader);
RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout_tab_tradertitle);

String[] strLeft = new String[] {"111","222"};
String[] strRight = new String[] {"AAA","BBB"};
lefttext = new TextView[strLeft.length];
for(int i =0;i<strLeft.length; i++){
RelativeLayout addLayout = new RelativeLayout(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
layout.getLayoutParams());
//params.addRule(RelativeLayout.BELOW, lefttext[i].getId());
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT );  
lefttext[i]  = new TextView(this);
lefttext[i].setText(strLeft[i]);
addLayout.addView(lefttext[i], params);
 LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(      
                 LinearLayout.LayoutParams.MATCH_PARENT,      
                 LinearLayout.LayoutParams.WRAP_CONTENT      
         );      
mainLayout.addView(addLayout,p);
}
2. create a fragment in Activity


A. fragment code

public static NewOrderFragment newInstance(Bundle args) {
NewOrderFragment f = new NewOrderFragment();
f.setArguments(args);
return f;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this._Activity = this.getActivity();
this.getActivityRegisterBoradcastReceiver();
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_order, container,
false);
return view;
}

@Override
public void onDestroy() {
super.onDestroy();
if(TraderPreferences._CONNECT_NET)
this.getActivity().unregisterReceiver(mBroadcastReceiver);
}

B. xml Code

<!--         <fragment
            android:id="@+id/fragment_neworder"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            class="com.omnicare.trader.activity.NewOrderActivity$NewOrderFragment" />
 -->
   
      <FrameLayout
    android:id="@+id/fragment_newOrder_container"
    android:layout_weight="1"
    android:layout_width="0dip"
    android:layout_height="match_parent" >
</FrameLayout>

C. Activity Code
setContentView(R.layout.fragment_contain);
// if (savedInstanceState == null){//
NewOrderFragment newOrderFragment = NewOrderFragment
.newInstance(this.getIntent().getExtras());
this.getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, newOrderFragment).commit();
} else {
setContentView(R.layout.activity_new_order);
NewOrderFragment newOrderFragment = NewOrderFragment
.newInstance(this.getIntent().getExtras());
FragmentTransaction ft = this.getSupportFragmentManager().beginTransaction();
ft.add(R.id.fragment_newOrder_container, newOrderFragment).commit();
//ft.replace(R.id.fragment_neworder, newOrderFragment).commit();
findView();
原创粉丝点击