赞
踩
如下图:
我用红线圈出的地方,这个地方想来还得在代码中动态生成,因为个数你不确定
下面看代码:
- import java.util.ArrayList;
- import java.util.List;
- import com.ss.b.helps.DensityUtilHelps;
- import android.app.Activity;
- import android.graphics.Color;
- import android.graphics.drawable.ColorDrawable;
- import android.os.Bundle;
- import android.view.Gravity;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.LinearLayout;
- import android.widget.RadioButton;
- import android.widget.RadioGroup;
- import android.widget.Toast;
-
- public class WecomActivity extends Activity{
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_wecom);
- initViewTwo();
-
- }
-
- public void initViewTwo(){
- RadioGroup radiogroup=(RadioGroup) findViewById(R.id.gadiogroup);
-
-
- addview(radiogroup);
- }
-
- public List<String> getListSize(){
- List<String>list=new ArrayList<String>();
- list.add("服装33333");
- list.add("玩具44444");
- list.add("饰品5555");
- list.add("饰品6666");
- list.add("文具7777");
- list.add("文具8888");
- list.add("文具9999");
- return list;
- }
-
- //动态添加视图
- public void addview(RadioGroup radiogroup){
-
- int index=0;
- for(String ss:getListSize()){
-
- RadioButton button=new RadioButton(this);
- setRaidBtnAttribute(button,ss,index);
-
- radiogroup.addView(button);
-
- LinearLayout.LayoutParams layoutParams= (LinearLayout.LayoutParams) button
- .getLayoutParams();
- layoutParams.setMargins(0, 0, DensityUtilHelps.Dp2Px(this,10), 0);//4个参数按顺序分别是左上右下
- button.setLayoutParams(layoutParams);
- index++;
- }
-
-
- }
-
-
- private void setRaidBtnAttribute( final RadioButton codeBtn, String btnContent, int id ){
- if( null == codeBtn ){
- return;
- }
- codeBtn.setBackgroundResource(R.drawable.radio_group_selector);
- codeBtn.setTextColor(this.getResources().getColorStateList(R.drawable.color_radiobutton));
- codeBtn.setButtonDrawable(new ColorDrawable(Color.TRANSPARENT));
- //codeBtn.setTextSize( ( textSize > 16 )?textSize:24 );
- codeBtn.setId( id );
- codeBtn.setText( btnContent );
- //codeBtn.setPadding(2, 0, 2, 0);
-
- codeBtn.setGravity( Gravity.CENTER );
- codeBtn.setOnClickListener( new OnClickListener( ) {
- @Override
- public void onClick(View v) {
- Toast.makeText(WecomActivity.this, codeBtn.getText().toString(), Toast.LENGTH_SHORT).show();
- }
- });
- //DensityUtilHelps.Dp2Px(this,40)
- LinearLayout.LayoutParams rlp = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT , DensityUtilHelps.Dp2Px(this,25) );
-
- codeBtn.setLayoutParams( rlp );
- }
-
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
布局文件如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:gravity="center"
- android:orientation="vertical" >
- <LinearLayout
- android:layout_width="fill_parent"
- android:layout_height="40dp"
- android:orientation="vertical"
-
- >
- <HorizontalScrollView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:scrollbars="none"
- android:background="@null"
- >
-
- <RadioGroup
- android:id="@+id/gadiogroup"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:paddingLeft="10dp" >
-
- </RadioGroup>
-
- </HorizontalScrollView>
-
-
-
-
- </LinearLayout>
-
-
- </LinearLayout>
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:state_checked="true" android:color="@color/whitecolor"/>
- <!-- not selected -->
- <item android:state_checked="false" android:color="@color/buttom_tv"/>
-
- </selector>
radio_group_selector.xml如下:
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:state_checked="true"><shape>
-
- <!-- 这个是选中的 设为true -->
- <solid android:color="@color/toubu" />
- <!-- 这个是按压的颜色 -->
- <stroke android:width="1dp" android:color="@color/toubu" />
-
- <corners android:radius="10dp" />
- <!-- 四角的弧度 -->
- </shape></item>
- <!-- 这个是未选中的状态 -->
- <item android:state_checked="false"><shape>
-
- <!-- 这个是按压状态的 设为true -->
- <solid android:color="@color/gray" />
- <!-- 这个是按压的颜色 -->
- <stroke android:width="1dp" android:color="@color/gray" />
-
- <corners android:radius="10dp" />
- <!-- 四角的弧度 -->
- </shape></item>
-
-
- </selector>
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
用到的几个颜色如下:
- <color name="whitecolor">#ffffff</color>
- <color name="buttom_tv">#484747</color>
- <color name="toubu">#f4692a</color>
- <color name="gray">#d3d3d3</color>
有需要的可以看看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。