所以我扩展了VideoView的onMeasure以扩展视频以适应全屏视图.
这是如何:
public void setVideoAspect(int w,int h){
wVideo=w;
hVideo=h;
onMeasure(w, h);
}
@Override
protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)
{
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
if(wVideo!=0 && hVideo!=0)
setMeasuredDimension(wVideo,hVideo);
}
Run Code Online (Sandbox Code Playgroud)
我使用屏幕的显示指标(宽度,高度)调用setVideoAspect().问题是这种方法会拉伸视频以适应屏幕内部.我希望能够保持纵横比.(我有4:3的视频和3:2的屏幕尺寸.)我使用下面的代码给视图保留比率测量值:
int height = (int) (metrics.widthPixels*3/(float)4);
int width= metrics.widthPixels;
mVideoView.setVideoAspect(width,height);
Run Code Online (Sandbox Code Playgroud)
所以这可以完成这项工作,但是有一个问题:它给了我一个4:3的视频,屏幕的宽度和正确的比例,但它不会使视频居中.(它只是播放视频的底部而不是顶部和底部.)我有一个包含VideoView的相对布局,VideoView的重力设置为居中.
我正在创建一个横向分为三个部门的示例网站.我希望最左边的div为25%宽度,中间一个为50%宽度,右边为25%宽度,以便分区水平填充所有100%空间.
<html>
<title>
Website Title
</title>
<div id="the whole thing" style="height:100%; width:100%" >
<div id="leftThing" style="position: relative; width:25%; background-color:blue;">
Left Side Menu
</div>
<div id="content" style="position: relative; width:50%; background-color:green;">
Random Content
</div>
<div id="rightThing" style="position: relative; width:25%; background-color:yellow;">
Right Side Menu
</div>
</div>
</html>
Run Code Online (Sandbox Code Playgroud)
当我执行此代码时,div显示在彼此之上.我希望他们出现在彼此旁边!
我怎样才能做到这一点?
我发现可以使用DIP在XML布局中设置我的界面元素的尺寸,如下面的片段所示:
android:layout_width="10dip"
Run Code Online (Sandbox Code Playgroud)
但是所有Java接口都将整数作为参数,并且无法在DIP中指定维度.计算这个的正确方法是什么?
我想我必须使用DisplayMetrics类的属性密度,但这是正确的方法吗?
我可以依靠这个公式永远正确吗?
像素*DisplayMetrics.density = dip
Android中的转换是否有实用功能?
我找不到任何关于如何构建我的应用程序的文档或示例,以允许同一控制器中的不同视图使用完全不同的布局和样式表.
我们的应用程序是脚手架,然后我们使用漂亮的生成器生成视图,然后添加设计用于身份验证.我们有两个模型的视图和控制器:小部件和公司.
我目前只有一个布局:layouts/application.html.haml,我没有看到任何地方引用,所以我假设(一个新手),它总是被命名约定使用.
我现在需要在相同的控制器中添加一些视图(对于移动浏览器),这些视图具有不同的样式表和布局(例如,右上角没有登录/注销链接).
怎么办?
由于其丑陋的语法和命名空间污染,许多人认为Haskell的记录语法是一种优雅语言的疣.另一方面,它通常比基于位置的替代方案更有用.
而不是像这样的声明:
data Foo = Foo {
fooID :: Int,
fooName :: String
} deriving (Show)
Run Code Online (Sandbox Code Playgroud)
在我看来,这些方面的东西会更有吸引力:
data Foo = Foo id :: Int
name :: String
deriving (Show)
Run Code Online (Sandbox Code Playgroud)
我确信必须有一个很好的理由让我失踪,但为什么采用类似C语言的记录语法采用更简洁的基于布局的方法?
其次,管道中是否有任何东西可以解决命名空间问题,所以我们可以编写id foo而不是fooID foo在Haskell的未来版本中编写?(除了目前可用的基于longwinded类型的变通办法.)
如何将2个按钮并排放置,以便它们占据所有宽度,两者之间有一点空间.
我想到了一个水平线性布局,2个子线性布局设置为匹配父级和重量1,每个都包含按钮..是否有更简单的方法?这可以用相对布局来完成吗?
谢谢!
如何清除图像底部和包装器之间的空间,同时将图像保持为内联块?为什么会这样?
HTML:
<div id="wrapper">
<img src="https://twimg0-a.akamaihd.net/profile_images/1735360254/icon_reasonably_small.jpg" >
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
?#wrapper {
background:green;
}
img {
display:inline-block;
margin:0;
}
Run Code Online (Sandbox Code Playgroud)
我有一个子视图,我想在旋转屏幕期间保持停止,所以我决定将NSLayoutConstraint类型:
尾随空间到Superview
顶部空间到Superview
按钮空间到Superview
我在UITableViewCell的子类中.我写了代码,但是我收到以下错误:
'NSInvalidArgumentException', reason: 'Unable to parse constraint format:
self is not a key in the views dictionary.
H:[self.arrows]-5-|
Run Code Online (Sandbox Code Playgroud)
我在CustomCell.m中的代码是:
self.arrows = [[Arrows alloc]initWithFrame:CGRectMake(self.contentView.bounds.size.width-30, self.bounds.origin.y+4, 30, self.contentView.bounds.size.height-4)];
NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(self.arrows, self.contentView);
NSMutableArray * constraint=[[NSMutableArray alloc]init];
[constraint addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H: [self.arrows]-5-|" options:0 metrics:nil views:viewsDictionary]];
[constraint addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-1-[self.arrows]" options:0 metrics:nil views:viewsDictionary]];
[constraint addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"[V: [self.arrows]-1-|" options:0 metrics:nil views:viewsDictionary]];
[self.arrows addConstraints:constraint];
Run Code Online (Sandbox Code Playgroud) 我有一个带有GridLayoutManager的RecyclerView,可以显示卡片视图.我希望卡片根据屏幕尺寸重新排列(Google Play应用程序使用其应用程序卡执行此类操作).这是一个例子:
以下是我的应用程序当前的样子:
正如您所看到的那样,这些卡片只是拉伸而不适合从方向更改所形成的空白区域.那我该怎么做呢?
码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Json;
using System.Threading;
using System.Threading.Tasks;
using Android.Media;
using Android.App;
using Android.Support.V4.App;
using Android.Support.V4.Content.Res;
using Android.Support.V4.Widget;
using Android.Support.V7.Widget;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Util;
using Android.Views;
using Android.Widget;
using Android.Net;
using Android.Views.Animations;
using Android.Graphics;
using Android.Graphics.Drawables;
using Newtonsoft.Json;
using *******.Adapters;
using *******.Models;
namespace *******.Fragments {
public class Dashboard : GridLayoutBase {
private ISharedPreferences pref;
private SessionManager session;
private string cookie;
private DeviceModel deviceModel;
private RecyclerView …Run Code Online (Sandbox Code Playgroud) layout android xamarin android-gridlayout android-recyclerview
我有一个EditText和Button彼此相邻设置在同一水平线上.它看起来很棒,除非用户输入大量文本,EditText大小调整,并且Button被压扁.
我有两个EditText并且Button设置为layout_width="wrap_content". "fill_parent"弄乱了布局,如果我不需要,我不想使用绝对尺寸 - 它现在在横向和纵向看起来都很棒,我只是不想要EditText调整大小.
我的布局:
<TableLayout
android:id="@+id/homelayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TableRow>
<TextView
android:id="@+id/labelartist"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Find artists:" />
</TableRow>
<TableRow>
<EditText
android:id="@+id/entryartist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="6"
android:background="@android:drawable/editbox_background"
android:editable="true"
android:padding="5px"
android:singleLine="true" />
<Button
android:id="@+id/okartist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dip"
android:layout_weight="1"
android:text="Search" />
</TableRow>
</TableLayout>
Run Code Online (Sandbox Code Playgroud)