有人可以提供Android StackView的屏幕截图,显示该小部件的潜在应用程序吗?我不知道该用它做什么.
我搜索了互联网,但我找不到一些好的解释或建议.基本上,我想实现这个功能.
在滑下来


我使用了StackView类,我得到的就是这个"对角线"堆栈
我希望观点一个接一个,如上图所示.
类似的问题在这里被问到 - > Android自定义stackview,但我找不到任何令人满意的答案.
我已经按照建议阅读了StackView的代码,但说实话,我不知道如何自定义它以获得我想要的东西.当我更改PERSPECTIVE_SHIFT_FACTOR_X或PERSPECTIVE_SHIFT_FACTOR_Y的值时,没有任何变化,我得到相同的"对角线视图".我错过了什么吗?
提前谢谢你的答案.
包含textfield数组的Stackview嵌入在scrollview中.我想在某些操作上更改文本字段的顺序.删除和添加文本字段的方式会导致视图失真.我还通过从scrollview中删除来测试.正常的堆栈视图也没有正确显示交换.我正在使用索引来改变:
stackView.removeArrangedSubview(localityTF)
stackView.insertArrangedSubview(localityTF, at: 2)
我正在为我的应用程序创建基于StackView的小部件,并且应该显示一些项目.项目数量可能因用户操作而有所不同 - 假设它是某种收藏菜单.我已经实现了RemoteViewsFactory后代来为StackView生成视图:
public class StackRemoteViewsFactory implements RemoteViewsFactory {
private List<Item> data;
private Context context;
public StackRemoteViewsFactory(Context context) {
this.context = context;
data = new DAO(context).getFavouriteCards();
}
@Override
public void onDataSetChanged() {
data = new DAO(context).getWidgetItems(); // refresh widget dataset
}
@Override
public int getCount() {
return data.size();
}
@Override
public RemoteViews getViewAt(int position) {
Item item = data.get(position);
// this is my problem and will be explained below -
// here I'm getting IndexOutOfBoundsException, position = 0
...
} …Run Code Online (Sandbox Code Playgroud) 我必须使用stackview作为父视图.我试图用2行动画stackview来获得折叠和膨胀底行的效果.你可以这么说,我试图做的就是你将这段代码应用到带有子视图的普通自动绘制视图时得到的结果:
func showView()
{
if(!expand)
{ UIView.animateWithDuration(0.5, animations:{
self.expandableViewHeight.constant = 50
// Update layout of all subviews
self.parentViewController!.view.layoutIfNeeded()})
} else {
UIView.animateWithDuration(0.5, animations:{
self.expandableViewHeight.constant = 100
// Update layout of all subviews
self.parentViewController!.view.layoutIfNeeded()})
}
}
Run Code Online (Sandbox Code Playgroud)
简单而整洁.当您点击此视图时,它会扩展或折叠其所有子视图.随着动画的进行,子视图被剪裁(未调整大小/重新缩放),最后您只能看到原始视图的一半.
它看起来很简单,但我无法用stackview完成它.当我将第二行添加到stackview然后设置layoutIfNeeded()动画时,就像在几个教程中一样,然后: - 当底部行的膨胀从左边到它的位置时, - 当折叠底部行时消失(没有动画) - 只有背景视图正确动画(请参阅代码)
当我使用高度约束并且不在底行的layoutIfNeeded()上设置动画时,则: - 当动画进行时,当底部行的充气重新调整为完整高度时 - 折叠时 - 底部行重新调整为0作为动画去了
不能让它夹在底行!任何提示赞赏!:)
这是我的stackview代码:
override func viewDidLoad(){
super.viewDidLoad()
background = UIView(frame:CGRectMake(0, 0, frame.width,frame.height))
background.backgroundColor = UIColor.whiteColor()
background.layer.cornerRadius = 5
background.layer.masksToBounds = true
self.addSubview(background)
vStack = UIStackView()
vStack.axis = .Vertical
vStack.alignment = .Fill …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个包含自定义视图的堆栈视图。本示例中的每个自定义视图都具有相同的信息。出于某种原因,而不是在每个子视图重叠之后都去,我不知道为什么。我没有任何限制(在布局中)。堆栈视图在滚动视图内部,因为可能有很多子视图。
自定义视图代码:
import UIKit
class AddressComponentView: UIView {
@IBOutlet weak var labelStreet: UILabel!
@IBOutlet weak var labelCity: UILabel!
@IBOutlet weak var labelOfficialRegionType: UILabel!
@IBOutlet weak var labelOfficialRegionTitle: UILabel!
@IBOutlet weak var labelCountry: UILabel!
@IBOutlet weak var labelZip: UILabel!
var view: UIView!
func loadData(address: AddressData){
self.labelStreet.text = address.street
self.labelCity.text = address.city
self.labelOfficialRegionType.text = address.region?.officialRegionType
self.labelOfficialRegionTitle.text = address.region?.officialRegionTitle
self.labelZip.text = address.zip
self.labelStreet.sizeToFit()
}
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
Run Code Online (Sandbox Code Playgroud)
}
这是我动态添加子视图的方法(viewContent 是堆栈视图):
viewScroll.contentSize …Run Code Online (Sandbox Code Playgroud) 我有一个包含StackView的AppWidget.与AppWidget一起,我有一个服务,当用户将我的AppWidget添加到他们的主屏幕时每两小时轮询一次新数据时启动该服务.当服务找到新数据时,我需要它提醒我的AppWidget,并将该数据传递给RemoteViewsService(具有我的RemoteViewsFactory),以便它可以为新数据创建必要的视图.
目前,当服务找到新数据时,我向AppWidget广播已发现新数据,将该数据作为意图内的整数数组传递.
我的AppWidgetProvider中的onReceive方法将该数据拉出来,然后我将完成设置一个新的intent的过程,该intent将传递给我的RemoteViews for AppWidget.示例代码如下:
public void onReceive( Context context, Intent intent )
{
int[] appWidgetIds = appWidgetManager.getAppWidgetIds( new ComponentName( context, SampleAppWidgetProvider.class ) );
int[] sampleData = intent.getIntArrayExtra( Intent.EXTRA_TITLE );
for ( int i = 0; i < appWidgetIds.length; i++ )
{
// RemoteViewsFactory service intent
Intent remoteViewsFactoryIntent = new Intent( context, SampleAppWidgetService.class );
remoteViewsFactoryIntent.putExtra( AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetIds[i] );
remoteViewsFactoryIntent.setData( Uri.parse( remoteViewsFactoryIntent.toUri( Intent.URI_INTENT_SCHEME ) ) );
remoteViewsFactoryIntent.putExtra( Intent.EXTRA_TITLE, sampleData );
RemoteViews rv = new RemoteViews( context.getPackageName(), R.layout.widget_layout );
// Sync up …Run Code Online (Sandbox Code Playgroud) android android-widget android-service stackview android-appwidget
我的应用程序必须有一个小部件,可以显示卡,用户可以翻转卡.StackWidget示例(在Android的资源中)有一个很好的小部件:

但是有一个StackView小部件的布局,它是可用的API Level 11,因此我必须实现我的App for API 5级.
此外,我看到这个小部件工作API级别7和更高,我想使用OpenGL ES:

最后我们如何在Android 2(API 5)中模拟堆栈视图?或者我们如何实现像第二个图像(上图)的小部件?
我开始使用 iOS 应用程序并创建一个表视图。在我的桌子上,我有一个这样的单元格。
现在我需要将水平 stackview 与星星垂直和水平居中。此堆栈视图具有固定的宽度和高度。
它必须看起来像这样。
为此,我将它放在另一个水平堆栈视图中。我尝试向它添加与您看到的相同的约束label
问题是这个外部堆栈视图不像标签那样伸展。我还看到它的宽度和高度是灰色的,我无法更改它们。为什么?
stackview ×10
android ×5
ios ×5
autolayout ×2
uistackview ×2
android-view ×1
animation ×1
margins ×1
remoteview ×1
swift ×1
uiview ×1
widget ×1
xcode ×1