Android开发带有圆角列表UI布局续

上次一篇博文http://blog.csdn.net/walker02/article/details/7921547,讲述了一种带有圆角的布局,感觉有些太死板了,没有添加点击效果,在移动端的UI布局有限,所以一般需要有限的空间尽量展示更多的信息,一种情况可以利用四个选项跳转到不同的页面去展示信息,另外一种情况就是当不点击的时候,信息是隐藏的,当你点击的时候信息是展示的,当你再次点击的时候信息再次隐藏。这种类似于抽屉的效果很好的利用了手机有限的空间。

类似于网上专业的说法:手风琴菜单手风琴菜单是一组可折叠的信息模块。当有限的界面空间无法将菜单中的所有内容,或全部信息块完整展示出来时,可以使用手风琴菜单。用户通过点击信息块的标题,将需要的信息展示出来,临时不用的信息隐藏起来。这样用户既可以看到所有信息的标题,对信息内容有一个完整的认识,又可以看到所需信息的详情,聚焦重点信息。手风琴菜单可以用于导航设计,将一级导航显示在信息块标题处,二级导航显示在信息块内容处。也可以用于展示标题下的文字信息、图片信息等内容详情。

Demo下载地址 

MainActivity.java 代码 实现信息的显示和隐藏功能

public class MainActivity extends Activity {
	private LinearLayout one;
	private LinearLayout tow;
	private LinearLayout three;
	private LinearLayout four;
	private static int var1 = 1;
	private static int var2 = 1;
	private static int var3 = 1;
	private static int var4 = 1;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
		one = (LinearLayout) findViewById(R.id.one_mention);
		tow = (LinearLayout) findViewById(R.id.two_mention);
		three = (LinearLayout) findViewById(R.id.three_mention);
		four = (LinearLayout) findViewById(R.id.four_mention);
		
		findViewById(R.id.oneLayout).setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {
				var1++;
				if(var1%2 == 0){
					one.setVisibility(View.VISIBLE);
				}else {
					one.setVisibility(View.GONE);
				}
			}
		});
		
		findViewById(R.id.twolayout).setOnClickListener(new View.OnClickListener() {
			
			public void onClick(View v) {
				var2++;
				if(var2 % 2 == 0){
					tow.setVisibility(View.VISIBLE);
				}else {
					tow.setVisibility(View.GONE);
				}
				
			}
		});
		
		findViewById(R.id.threelayout).setOnClickListener(new View.OnClickListener() {
			
			public void onClick(View v) {
				var3++;
				if(var3 % 2 == 0){
					three.setVisibility(View.VISIBLE);
				}else {
					three.setVisibility(View.GONE);
				}
				
			}
		});
		
		findViewById(R.id.fourlayout).setOnClickListener(new View.OnClickListener() {
			
			public void onClick(View v) {
				var4++;
				if (var4 % 2 == 0) {
					four.setVisibility(View.VISIBLE);
				}else {
					four.setVisibility(View.GONE);
				}
			}
		});
		
		
    }
    
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Android中绘制带有圆角的直线并且不填充任何颜色,可以使用`Path`和`Paint`类来实现。下面是一个简单的实现示例: ```java Paint paint = new Paint(); paint.setColor(Color.RED); paint.setStrokeWidth(10); paint.setStyle(Paint.Style.STROKE); Path path = new Path(); RectF rectF = new RectF(50, 50, 200, 200); float radius = 20; path.addRoundRect(rectF, radius, radius, Path.Direction.CCW); Canvas canvas = new Canvas(); canvas.drawPath(path, paint); ``` 在上面的示例中,首先创建了一个`Paint`对象并设置其颜色、线宽和样式。然后创建了一个`Path`对象,并使用`addRoundRect`方法将一个矩形转化为具有圆角的路径。最后使用`Canvas`的`drawPath`方法将路径绘制到画布上。 如果需要绘制直线而不是矩形,则需要使用`moveTo`和`lineTo`方法来手动绘制路径。具体实现可以参考以下示例代码: ```java Paint paint = new Paint(); paint.setColor(Color.RED); paint.setStrokeWidth(10); paint.setStyle(Paint.Style.STROKE); Path path = new Path(); float startX = 50, startY = 50, endX = 200, endY = 200; float radius = 20; path.moveTo(startX + radius, startY); path.lineTo(endX - radius, startY); path.quadTo(endX, startY, endX, startY + radius); path.lineTo(endX, endY - radius); path.quadTo(endX, endY, endX - radius, endY); path.lineTo(startX + radius, endY); path.quadTo(startX, endY, startX, endY - radius); path.lineTo(startX, startY + radius); path.quadTo(startX, startY, startX + radius, startY); Canvas canvas = new Canvas(); canvas.drawPath(path, paint); ``` 在上面的示例代码中,首先创建了一个`Paint`对象并设置其颜色、线宽和样式。然后创建了一个`Path`对象,并使用`moveTo`和`lineTo`方法手动绘制具有圆角的直线路径。最后使用`Canvas`的`drawPath`方法将路径绘制到画布上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值